我正在尝试在访问数据库中执行查询,然后获取此查询结果并插入到Excel工作表中,但我没有做任何工作。这是我的代码
Sub Analise()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sSQL As String
Sheets("Plan1").Range("A2:A23").Select
For Each Regra In Selection
If Regra = "MYRULE" Then
sSQL = "SELECT ITEM !, ITEM2 FROM base WHERE NomeRegra = ""'MyValue'"" "
MyConn = "MyPath\base.mdb"
Set cnn = New ADODB.Connection
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open MyConn
End With
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseServer
rst.Open Source:=sSQL, ActiveConnection:=cnn, CursorType:=AdForwardOnly, LockType:=adLockOptimistic, Options:=adCmdText
Sheets("Plan1").Range("D1:E1") = Array("Field1", "Field2")
Range("D2:E100000").CopyFromRecordset rst
rst.Close
cnn.Close
End If
Next Regra
答案 0 :(得分:0)
您是否尝试使用Access文件作为数据库在Excel中使用MS Query?从Excel中的数据选项卡
'获取外部数据' '来自其他来源'下拉菜单然后来自MS Query'
选择MS Access数据库,然后找到您的文件。当出现“查询向导”弹出窗口时,单击“取消”,然后“是”'继续在MS Query中编辑。如果您自己编写SQL,可以按下sql按钮,但语言与Access略有不同。它可能需要一些游戏,但MS查询可以是一个非常强大的工具。