谢谢你的网站.精彩的信息.
简而言之,我试图从Outlook(2007)执行以下代码,尽管它在Excel中也失败了.工作很棒INSIDE Access!
Sub Test
Dim db As DAO.Database
Dim rs As DAO.Recordset
Const dbPath As String = "C:\Users\e574651.GLOBAL\Documents\Northwind 2007.accdb"
On Error Resume Next
Set db = DAO.OpenDatabase(dbPath)
'Set rs = db.OpenRecordset("customers")
Debug.Print Err.Number, Err.Description
End Sub
Run Code Online (Sandbox Code Playgroud)
3343无法识别的数据库格式'C:\ Users\e574651.GLOBAL\Documents\Northwind 2007.accdb'.
我可以使用ADO整天访问(没有双关语)这个数据库,我怀疑问题在于以下ADO语句:
ADOConn.Provider ="Microsoft.ACE.OLEDB.12.0"
如何使用DAO提供此功能?
我在VBA首选项中包含了对DAO 3.6库的引用.我已经包含了其他Microsoft 12.0库引用,所以我要么破坏了某些东西,要么省略了一些东西.
任何帮助将不胜感激.
谢谢!
最新的DAO库格式如下:
Microsoft Office x.x Access Database Engine Object Library
Run Code Online (Sandbox Code Playgroud)
所以摆脱3.6引用并使用更新的库.然后,一个例子:
Sub XLAccess()
Dim ws As DAO.Workspace
Dim db As DAO.Database
Dim sDb As String
Dim sSQL As String
Dim qdf As QueryDef
sDb = "Z:\Docs\Test.accdb"
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(sDb)
''A stored query would be better
sSQL = "Parameters p1 Text, p2 Datetime; " _
& "INSERT INTO Table1 (AText,ADate) Values ([p1],[p2])"
Set qdf = db.CreateQueryDef("", sSQL)
qdf.Parameters!p1 = "ABC"
qdf.Parameters!p2 = #1/17/2013#
qdf.Execute dbFailOnError
Debug.Print qdf.RecordsAffected
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12874 次 |
| 最近记录: |