有人可以看一下这段代码并提供有关我做错了什么的提示吗?这段代码几乎是从一本参考书上摘下来的,作为一个关于如何使用 VBA ADO 对象的例子。这是代码:
Sub TestMyADODB()
Dim mySQL As String
Dim myConnection As DAO.Connection
Dim myRecordSet As DAO.Recordset
Set myConnection = CurrentProject.Connection ' Crash here
mySQL = mySQL & "UPDATE Amplifier "
mySQL = mySQL & "SET Amplifier.lngCategory = 405, Amplifier.lngSubType = 3 "
mySQL = mySQL & "WHERE (((Amplifier.lngPartIndex)=9))"
myRecordSet.OpenRecordset mySQL
Debug.Print "DONE"
myRecordSet.Close
Set myRecordSet = Nothing
Set myConnection = Nothing
此外,我尝试使用ADODB 对象,结果,编译器不允许该代码。我发现我需要添加对 MS dll 的引用,我这样做了,结果仍然相同。然后我开始从 VBA 收到一个错误,指出我不能使用现在“过时”的 DAO,我必须使用 ADO。剩下的是 10 个小时的宝贵时间,试图从网络上的多篇文章中揭开 ADO DAO 问题的神秘面纱。底线是,如果我使用 DAO,我的 Access 2007 就会崩溃,编译器将拒绝使用 ADO。我正在为这个问题而烦恼,我需要帮助!欣赏
PS:mySQL 字符串已经在 Access 查询中测试过并且功能正常。