我的SQL Server 2008中有一个包含客户端数据的表。非常简单,只有FirstName,LastName,Sex,MI。我一直试图将其解压缩到Excel但是当我尝试这样做时,它会被提取为文本文件。基本上,文本在一个单元格中,看起来像一团糟。我的代码出了什么问题?
Private Sub cmdExtract_CLick()
Dim filenum as Integer
Dim vSQL as String
Dim cndX as Adodb.Recordset
filenum=freefile
dim theFilename as string
theFIlename ="C:\Test\TestFile.CSV"
Open theFilename for Output as #filenum
Write #filenum, "First, Last, MI, SEX"
vSQL = "SELECT FirstName, LastName, Sex, MI from dbo.Test_Clients2"
cnd.open, vSQL
set cndx =New Adodb.Recordset
cndx.move first
Do while no cndx.eof
write #filenum, cndx("FirstName") & "," & cndx("LastName") & "," & cndx(Sex) & "'" & cndx("MI"
loop
cndx.close
cnd.close
close #filenum
End Sub
所以这就是我所拥有的。我确定在哪里弄错了,但我可能遗漏了一些东西。数据可以很好地加载到Excel工作表中,但它们都在一个单元格中。
答案 0 :(得分:0)
为什么不使用Microsoft的Power Query add-in。它可能比使用vba从SQL数据库导入数据更有效。
例如:
let
Source = Sql.Database("Servername", "DBname", [Query="SELECT FirstName, LastName, Sex, MI from dbo.Test_Clients2"])
in
Source
您当然可以用同样的方式从csv文件中提取数据。