База данных текстовых файлов с функцией поворота 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
Это достаточно просто сделать с помощью сводной таблицы, но я хотел, чтобы пользователь мог печатать данные.
Кроме того, есть ли возможность сделать его динамичным, потому что будет неизвестное количество возможных клиентов, поэтому число строк должно будет увеличиться.
заранее спасибо