База данных текстовых файлов с функцией поворота SQL в VBA Excel

У нас нет доступа к серверу SQL на работе, поэтому мне нужно разработать приложение в Excel VBA и использовать текстовый файл (CSV) для хранения данных.

У меня нет проблем с запросом данных, присоединяясь к CSV, но я бы хотел использовать оператор SQL Pivot / Unpivot для преобразования одного из столбцов в строки. Я не уверен, что такая функциональность существует, поскольку я продолжаю получать сообщение об ошибке синтаксиса в предложении FROM.

    Public Function getData() As ADODB.Recordset

    Dim path As String, conn As ADODB.Connection, rs As ADODB.Recordset
    path = ThisWorkbook.path & "\"

    Set conn = New ADODB.Connection
    Set rs = New ADODB.Recordset

    conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=" & path & ";" & _
               "Extended Properties=""text; HDR=Yes; FMT=Delimited; IMEX=1;""")

    rs.ActiveConnection = conn
    rs.Source = "SELECT * " & _
                "FROM " & _
                    "(SELECT emp_id, client, allocation " & _
                    "FROM ALLOCATIONdb.csv) AS s " & _
                "PIVOT (SUM(allocation) FOR client IN (client1, client2)) AS pvt"

    Set getData = rs

End Function

Мои данные в настоящее время выглядят как верхняя часть изображения, и я хочу, чтобы они выглядели как нижняя часть.

Это достаточно просто сделать с помощью сводной таблицы, но я хотел, чтобы пользователь мог печатать данные.

Кроме того, есть ли возможность сделать его динамичным, потому что будет неизвестное количество возможных клиентов, поэтому число строк должно будет увеличиться.

заранее спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос