Excel调用ACCESS的VBA代码怎么写
在EXCEL中导入了从ACCESS的数据,VBA中的代码:selectSql="select*from`E:\Text\COP_Tool`.`ls_dpdm`wheres...
在EXCEL中导入了从ACCESS的数据,VBA中的代码:
selectSql ="select * from `E:\Text\COP_Tool`.`ls_dpdm` where storecode='" & store & "' and subcode=(select min(subcode) from `E:\Text\COP_Tool`.`ls_dpdm` a where a.storecode=storecode and a.dept+a.itemcode=dept+itemcode)"
Sheets("Sheet1").QueryTables(1).Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Text\COP_Tool.mdb;Persist Security Info=False"
Sheets("Sheet1").QueryTables(1).Sql = selectSql
Sheets("Sheet1").QueryTables(1).Refresh BackgroundQuery:=False
运行出错‘1004’,该怎么写才能将前台的数据更新为后台的SQL 展开
selectSql ="select * from `E:\Text\COP_Tool`.`ls_dpdm` where storecode='" & store & "' and subcode=(select min(subcode) from `E:\Text\COP_Tool`.`ls_dpdm` a where a.storecode=storecode and a.dept+a.itemcode=dept+itemcode)"
Sheets("Sheet1").QueryTables(1).Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Text\COP_Tool.mdb;Persist Security Info=False"
Sheets("Sheet1").QueryTables(1).Sql = selectSql
Sheets("Sheet1").QueryTables(1).Refresh BackgroundQuery:=False
运行出错‘1004’,该怎么写才能将前台的数据更新为后台的SQL 展开
展开全部
提供一种在EXCEL使用代码,连接ACCESS,取得数据的方法,看是不是你要的东西:
Sub AC()
Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim qx As String
qx = "金牛"
cnn.Open "Provider=Microsoft.Ace.OleDB.12.0;dataSource=" & ThisWorkbook.Path & "\数据库.accdb"
sql = "select * from [宏站] where 区域='"& qx & "'"
'('" & qx & "'")括号里这段有点BT,一定要这样写才行。
rs.Open sql, cnn
[a1].CopyFromRecordset rs
EndSub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-05-31 · 知道合伙人互联网行家
关注
展开全部
你这个使用太高端了。。如果是SQL我还能告诉你怎么去调用。。ACCESS是微软旗下的简易数据库处理软件。。这样的功能貌似不支持。。一般都是在SQL数据库里面弄好了提取成ACCESS。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub ExcelToAccess()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim i, j, k, r, t As Long
Dim data As Variant
Dim A(), B() As Long
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "test.mdb"
Set rs = New ADODB.Recordset
rs.Open "学生表, cn, adOpenKeyset, adLockOptimistic, adCmdTable
if not rs.EOF then
debug.print rs.fields("xuehao")
end if
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim i, j, k, r, t As Long
Dim data As Variant
Dim A(), B() As Long
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "test.mdb"
Set rs = New ADODB.Recordset
rs.Open "学生表, cn, adOpenKeyset, adLockOptimistic, adCmdTable
if not rs.EOF then
debug.print rs.fields("xuehao")
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |