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尝试在打开记录集之前写入字段名。打开记录集,然后写入字段名。