VB6 EXCEL导入SQL

xiaxue77701 2017-08-13 09:38:27
请问用以下代码做excel导入sql时,如果本机开着一个excel文件时,那么被导入的excel文件也会打开,并且VB程序关不了,只能手工关,因为只是想把文件导入到sql中,不想打开再关闭,其中file_name是被导入excel文件路径,谢谢!
  Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cn1 As New ADODB.Connection
Dim rs4 As New ADODB.Recordset
cn.ConnectionString = "driver={microsoft excel driver (*.xls)};dbq=" & file_name & ";Readwrite=True"
cn.Open
rs.Open "select no1,no2 from [Sheet1$] ", cn, adOpenKeyset, adLockOptimistic
cn1.Open ConnectionString
rs4.CursorLocation = adUseClient
rs4.Open "select * from aa ", cn1, adOpenKeyset, adLockOptimistic

For t = 1 To rs.RecordCount
If rs.EOF = True Then
Exit Sub
Else
rs4.AddNew
For r = 1 To 2
rs4.Fields(r) = rs.Fields(r - 1)
Next r
rs4.Fields(3) = "SO"
rs4.Fields(4) = ""
rs4.Fields(5) = Now()
rs4.Update
rs.MoveNext
End If
Next t
rs.Close
rs4.Close
cn.Close
cn1.Close
Set rs = Nothing
Set rs4 = Nothing
Set cn = Nothing
Set cn1 = Nothing
...全文
575 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
X-i-n 2017-08-15
  • 打赏
  • 举报
回复
应该用XlApp.Workbooks.Open获取一个打开的excel对象,#2楼代码有问题,用Workbooks.Add会得到一个新的空的excel工作簿,而不是打开老的工作簿,并且在saveas以后,老文件直接就被覆盖掉了。
xiaxue77701 2017-08-15
  • 打赏
  • 举报
回复
请问excel怎样关闭后,再打开呢?
  Dim file_name As String
  Dim rs1 As New ADODB.Recordset
  Dim rs2 As New ADODB.Recordset
  Dim i As Long
  Dim j As Long
  Dim XlApp As Excel.Application
  Dim xlBook As Excel.Workbook
  Dim xlSheet As Excel.Worksheet
  Set XlApp = CreateObject("Excel.Application")
  XlApp.Visible = False
  Set xlBook = XlApp.Workbooks.Add
  xlBook.SaveAs (CommonDialog1.FileName), 39
  Set xlSheet = xlBook.Worksheets(1)
  file_name = CommonDialog1.FileName
  
  Adodc1.Recordset.MoveFirst
  For i = 0 To Adodc1.Recordset.RecordCount - 1
  For j = 0 To Adodc1.Recordset.Fields.Count - 4
  xlSheet.Cells(i + 2, j + 2) = Adodc1.Recordset(j) & ""
  Next j
  Adodc1.Recordset.MoveNext
  Next i
  xlBook.Save
  xlBook.Close
  XlApp.Quit
  Set xlBook = Nothing
  Set xlSheet = Nothing
  Set XlApp = Nothing
赵4老师 2017-08-14
  • 打赏
  • 举报
回复
CreateDesktop ?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧