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
以上代码能自动导出数据库中一条符合条件的数据,如何全部导出? 展开
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
以上代码能自动导出数据库中一条符合条件的数据,如何全部导出? 展开
1个回答
展开全部
这代码你写的还是参照别人的,逻辑不对么,嗯,应该说非常混乱。应该报错不出结果啊
更多追问追答
追问
我已经改过了,能够运行,就是From 生产进程 Where 工程单号 LIKE '%" & aa & "%'"
这个地方,如果我再限定时间区域,和查询条件与精度 该怎么改
追答
嗯,ACCESS和sql字符串不一样,要用双引号,且任意字符串的通配符用*
如果想表达"字符在代码中,需要用多个双引号,如LIKE ""*" & aa & "*""",这个地方我也挺混乱的
如果还有时间作为条件的话,直接加条件就好,不过ACCESS对于时间个是的数据,是需要#限定的,如#2014-3-11#这种表示时间数据。但如果是其他类型的数据另当别论
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询