excel中用vba查询access中符合条件的数据,并且依次导出

DimcnnAsObject,rsAsObject,SQL$,iAsIntegerSetcnn=CreateObject("Adodb.Connection")Stpat... Dim cnn As Object, rs As Object, SQL$, i As Integer
Set cnn = CreateObject("Adodb.Connection")
Stpath = ThisWorkbook.Path & Application.PathSeparator & "生产进程.mdb"
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.Open "Data Source =" & Stpath & ";Jet OLEDB:Database Password=" & ""
Set rs = cnn.Execute(SQL)
Dim aa As String, num As Integer
For i = 1 To rs.Fields.Count
aa = TextBox2.Value
SQL = "Select 订单生成时间,工程单号,合同号,客户,业务员,产品名称,数量,SM52,SM74,CD74 ,CD102德国,CD102中国,CD102VP,覆膜,折页,骑马钉,压痕,锁线,手工组,特殊材料,胶装,用纸信息,工艺信息,交货时间 From 生产进程 Where 工程单号 LIKE '%" & aa & "%'"
Cells(i, 1).CopyFromRecordset cnn.Execute(SQL)
i = i + 1
Next
Set rst = Nothing
Set cnn = Nothing
以上代码能自动导出数据库中一条符合条件的数据,如何全部导出?
展开
 我来答
错失良击
2014-03-11 · TA获得超过255个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:225万
展开全部
这代码你写的还是参照别人的,逻辑不对么,嗯,应该说非常混乱。应该报错不出结果啊
更多追问追答
追问
我已经改过了,能够运行,就是From 生产进程 Where 工程单号 LIKE '%" & aa & "%'"

这个地方,如果我再限定时间区域,和查询条件与精度 该怎么改
追答
嗯,ACCESS和sql字符串不一样,要用双引号,且任意字符串的通配符用*
如果想表达"字符在代码中,需要用多个双引号,如LIKE ""*" & aa & "*""",这个地方我也挺混乱的

如果还有时间作为条件的话,直接加条件就好,不过ACCESS对于时间个是的数据,是需要#限定的,如#2014-3-11#这种表示时间数据。但如果是其他类型的数据另当别论
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式