Excel VBA:复制带有标题(列名)的SQL表

Excel VBA:复制带有标题(列名)的SQL表,vba,excel,Vba,Excel,我需要插入此数据的列名,但结果是我只得到了没有列名的数据。我的密码有什么问题吗? 多谢各位 Private Sub pbTRPOS_Click() Dim Conn As New ADODB.Connection Dim sSQLQry As String Dim mrs As New ADODB.Recordset Dim DBPath As String, sconnect As String Dim DirFile As String Di

我需要插入此数据的列名,但结果是我只得到了没有列名的数据。我的密码有什么问题吗? 多谢各位

Private Sub pbTRPOS_Click()

    Dim Conn As New ADODB.Connection
    Dim sSQLQry As String
    Dim mrs As New ADODB.Recordset
    Dim DBPath As String, sconnect As String
    Dim DirFile As String
    Dim i As Long

    DirFile = "C:\Work\TRPOS.txt"

    If Len(Dir(DirFile)) <> 0 Then
        SetAttr DirFile, vbNormal
        Kill DirFile
    End If

    DBPath = ThisWorkbook.FullName
    sconnect = "Provider=SQLOLEDB;SERVER=DWSQL\BCAPP;Database=MVS;Uid=mvs;Pwd=mvs;"
    Conn.Open sconnect

    sSQLSting = "SELECT * FROM [MVS].[dbo].[TRPOS] where pos_no = '" & Sheets("Get Text File").Cells(5, 3) & "'"

    Workbooks.Add
    ActiveWorkbook.SaveAs "C:\Work\TRPOS.csv", FileFormat:=6

    For i = 0 To mrs.Fields.Count - 1
        Sheets("TRPOS").Cells(1, i + 1).Value = mrs.Fields(i).Name
    Next i

    mrs.Open sSQLSting, Conn

    Sheets("TRPOS").Range("A2").CopyFromRecordset mrs
    mrs.Close
    Conn.Close

    ActiveWorkbook.Close SaveChanges:=True

    Name "C:\Work\TRPOS.csv" As "C:\Work\TRPOS.txt"

End Sub
Private Sub-pbTRPOS_Click()
Dim Conn作为新的ADODB连接
作为字符串的Dim sSQLQry
将mrs设置为新ADODB.Recordset
Dim DBPath作为字符串,sconnect作为字符串
将文件设置为字符串
我想我会坚持多久
DirFile=“C:\Work\TRPOS.txt”
如果Len(Dir(DirFile))为0,则
SetAttr目录文件,vbNormal
杀死DirFile
如果结束
DBPath=ThisWorkbook.FullName
sconnect=“Provider=SQLOLEDB;SERVER=DWSQL\BCAPP;Database=MVS;Uid=MVS;Pwd=MVS;”
康涅狄格州开放式连接
sSQLSting=“从[MVS].[dbo].[TRPOS]中选择*,其中pos_no=”&表格(“获取文本文件”)。单元格(5,3)和“”
工作手册。添加
ActiveWorkbook.SaveAs“C:\Work\TRPOS.csv”,文件格式:=6
对于i=0到mrs.Fields.Count-1
表格(“TRPOS”)。单元格(1,i+1)。值=mrs字段(i)。名称
接下来我
康涅狄格州奥普·斯克尔斯汀夫人
表格(“TRPOS”)。范围(“A2”)。从记录集mrs复制
克洛斯太太
康涅狄格州关闭
ActiveWorkbook.Close SaveChanges:=True
将“C:\Work\TRPOS.csv”命名为“C:\Work\TRPOS.txt”
端接头

记录集
不提供获取包含数据的列名的本机方法。您需要在列上循环并将名称收集到一个数组中,然后在需要标题的位置插入该数组,并在该数组下方插入数据1行。有通过SQL循环数组的示例吗?谢谢@ThunderFrameYou尝试在打开记录集之前写入字段名。打开记录集,然后写入字段名。