使用VB6将Excel数据导入SQL

时间:2015-01-20 18:31:13

标签: sql-server excel vba vb6

我对Visual Basic完全陌生,我现在需要使用一个完全由VB6构建的程序,并添加从excel文件批量导入大量记录到当前SQL数据库的功能。我在网上找到的所有例子都令人困惑,需要对文件名进行硬编码(例如使用document As New Spreadsheet()document.LoadFromFile(" SimpleReport.xls"))但这需要是用户在获得一组新记录时随时调用,因此我需要在导入时指定excel文件名。

如何使用VB6从excel导入到SQL?我可以为excel文件名创建变量,还是必须对文件名的字符串值进行硬编码?如果我可以创建变量可以/我应该添加set并获取它以指定文件名?感谢

1 个答案:

答案 0 :(得分:1)

使用32位机器(O / S):

Dim cn As ADODB.Connection
Dim strSQL As String
Dim lngRecsAff As Long
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=C:\test\myfile.xls;" & _
    "Extended Properties=Excel 8.0"

'Import by using Jet Provider.
strSQL = "SELECT * INTO [odbc;Driver={SQL Server};" & _
    "Server=<server>;Database=<database>;" & _
    "UID=<user>;PWD=<password>].MyTable " & _
    "FROM [MySheet$]"
Debug.Print strSQL
cn.Execute strSQL, lngRecsAff, adExecuteNoRecords
Debug.Print "Records affected: " & lngRecsAff

cn.Close
Set cn = Nothing

Microsoft KB:321686有更多想法。