使用VBA Excel的SQL Pivot函数文本文件数据库

Changster

我们无法在工作中访问SQL Server,因此我必须在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

我的数据当前看起来像图片的顶部,而我希望它看起来像底部。

这对于数据透视表来说很简单,但是我希望用户能够在数据上键入内容。

此外,还是有办法使它动态化,因为可能会有未知数量的客户端,因此需要扩展行数。

提前致谢

Changster
Public Function getData(db1 As String, db2 As String, var1 As String, var2 As String) 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 = "TRANSFORM sum(a.allocation) " & _
            "SELECT a.emp_id, b.name, b.[new title], b.[new department] " & _
            "FROM " & db1 & " a " & _
            "INNER JOIN " & db2 & " b " & _
            "ON a.emp_id = b.emp " & _
            "GROUP BY a.emp_id, b.name, b.[new title], b.[new department] " & _
            "ORDER BY b.[new department], b.[new title], b.name " & _
            "PIVOT a.client"

Set getData = rs

结束功能

转换最终完成了我所需要的。

谢谢您的帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用c#将文本文件中的某些数据加载到sql server数据库中

来自分类Dev

使用C#将SQL Server数据库备份到文本文件(如.csv)

来自分类Dev

使用PowerShell将文本文件数据复制到现有的Excel工作簿中

来自分类Dev

如何使用文本文件作为数据库?

来自分类Dev

使用 vba 将文本文件导入到 excel 时丢失数字数据

来自分类Dev

使用python读取文本文件数据

来自分类Dev

使用php将数据从文本文件保存到PostGreSQL数据库

来自分类Dev

使用 java 将 Postgres 数据库收集的数据写入文本文件

来自分类Dev

将大文本文件导入SQL Server数据库

来自分类Dev

如何将文本文件信息存储到我的sql数据库中

来自分类Dev

PL SQL从数据库目录中读取文本文件

来自分类Dev

使用Python将文本文件导入Access 2003数据库

来自分类Dev

使用python将整个文本文件加载到数据库中

来自分类Dev

使用JQuery读取文本文件并将其存储在数据库中

来自分类Dev

使用python将整个文本文件加载到数据库中

来自分类Dev

使用PHP将多个文本文件导入数据库表单元格

来自分类Dev

使用php创建数据库并从文本文件中插入值

来自分类Dev

将文本文件中的数据提取到VBA中的Excel中

来自分类Dev

将文本文件中的数据提取到VBA中的Excel中

来自分类Dev

使用VBA将特定的文本文件导入Excel电子表格

来自分类Dev

使用文本文件数据,分类并在python中制作其他文本文件

来自分类Dev

使用数据绑定在文本框中显示文本文件数据

来自分类Dev

执行 sql 查询以使用 VBA 更新文本文件

来自分类Dev

连接文本文件中的行-Excel VBA

来自分类Dev

VBA Excel 循环导入文本文件

来自分类Dev

使用VBA-Excel进行跨多个数据库的SQL查询

来自分类Dev

使用Excel VBA定义的变量作为SQL命令文本的“ IN”语句

来自分类Dev

从Excel使用VBA变量函数调用SQL查询

来自分类Dev

如何使用VBA和SQL从其他Excel检索数据?

Related 相关文章

  1. 1

    如何使用c#将文本文件中的某些数据加载到sql server数据库中

  2. 2

    使用C#将SQL Server数据库备份到文本文件(如.csv)

  3. 3

    使用PowerShell将文本文件数据复制到现有的Excel工作簿中

  4. 4

    如何使用文本文件作为数据库?

  5. 5

    使用 vba 将文本文件导入到 excel 时丢失数字数据

  6. 6

    使用python读取文本文件数据

  7. 7

    使用php将数据从文本文件保存到PostGreSQL数据库

  8. 8

    使用 java 将 Postgres 数据库收集的数据写入文本文件

  9. 9

    将大文本文件导入SQL Server数据库

  10. 10

    如何将文本文件信息存储到我的sql数据库中

  11. 11

    PL SQL从数据库目录中读取文本文件

  12. 12

    使用Python将文本文件导入Access 2003数据库

  13. 13

    使用python将整个文本文件加载到数据库中

  14. 14

    使用JQuery读取文本文件并将其存储在数据库中

  15. 15

    使用python将整个文本文件加载到数据库中

  16. 16

    使用PHP将多个文本文件导入数据库表单元格

  17. 17

    使用php创建数据库并从文本文件中插入值

  18. 18

    将文本文件中的数据提取到VBA中的Excel中

  19. 19

    将文本文件中的数据提取到VBA中的Excel中

  20. 20

    使用VBA将特定的文本文件导入Excel电子表格

  21. 21

    使用文本文件数据,分类并在python中制作其他文本文件

  22. 22

    使用数据绑定在文本框中显示文本文件数据

  23. 23

    执行 sql 查询以使用 VBA 更新文本文件

  24. 24

    连接文本文件中的行-Excel VBA

  25. 25

    VBA Excel 循环导入文本文件

  26. 26

    使用VBA-Excel进行跨多个数据库的SQL查询

  27. 27

    使用Excel VBA定义的变量作为SQL命令文本的“ IN”语句

  28. 28

    从Excel使用VBA变量函数调用SQL查询

  29. 29

    如何使用VBA和SQL从其他Excel检索数据?

热门标签

归档