+ -
当前位置:首页 → 问答吧 → ACCESS+EXCEL多条件重复导出问题

ACCESS+EXCEL多条件重复导出问题

时间:2011-01-21

来源:互联网

求助:
      本人建立了股票数据库(ACCESS).想将一定期间内的部分股票数据导出到EXCEL中.
      受水平有限,始终无法导出数据.
      请大家帮助.ACCESS和EXCEL的界面见附件.
      代码如下:


Private Sub CommandButton2_Click()
If [J3] = "" Or [K3] = "" Then
MsgBox "请输入起止期间!"
Exit Sub
End If
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim sq2 As String
Range("A2:I65536").ClearContents
For i = 3 To 163
cnn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & ThisWorkbook.Path & "\sjk.mdb"
sq2 = "Select * from RCSJ where 股票代码='" & [Li] & "'" & " and 数据日期 between " & "#" & [J3] & "#" & " and " & "#" & [K3] & "#"
Range("A65536").End(xlUp).Select.CopyFromRecordset
Next i
cnn.Execute (sq2)
cnn.Close
End Sub
谢谢

附件

111.rar(98.42 KB)

2011-1-21 09:23, 下载次数: 3

作者: wps89   发布时间: 2011-01-21

最好上传完传的附件,
For i = 3 To 163
cnn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & ThisWorkbook.Path (& "\sjk.mdb"(1)
sq2 = "Select * from RCSJ where 股票代码='" & [Li] & "'" & " and 数据日期 between " & "#" & [J3] & "#" & " and " & "#" & [K3] & "#"
Range("A65536").End(xlUp).Select.CopyFromRecordset
Next i
cnn.Execute (sq2)
cnn.Close (2)
(1)和(2)都放在循环外,或都都放在循环内.这里都放在循环外,节省时间.

[ 本帖最后由 detergent181 于 2011-1-21 12:30 编辑 ]

作者: detergent181   发布时间: 2011-01-21

没看明白这个代码是做什么用的,
1.For i=3 to 163 这个循环是做什么用的?
2.执行Execute完后,就close,SQL语句是Select,又不是InSert,Update或Delete,那要Execute来做什么?

作者: Renco   发布时间: 2011-01-21

热门下载

更多