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)
本人建立了股票数据库(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
谢谢
附件

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 编辑 ]
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来做什么?
1.For i=3 to 163 这个循环是做什么用的?
2.执行Execute完后,就close,SQL语句是Select,又不是InSert,Update或Delete,那要Execute来做什么?
作者: Renco 发布时间: 2011-01-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28