【问题标题】:VBA Excel - UPDATE record in ACCESSVBA Excel - 访问中的更新记录
【发布时间】:2020-07-13 22:02:07
【问题描述】:

我遇到了问题。

我想在 EXCEL 中使用 VBA 更新 Access 数据库表中的现有记录。

我的代码:

sqlik = "UPDATE query which works in access"

Set ZAP_QUERY2 = baza.CreateQueryDef("", sqlik)

With ZAP_QUERY2

    ![abc] = Edit_Form.abc.Text
    ![bcd] = Edit_Form.bcd.Text
    ![cde] = Edit_Form.cde.Text

End With

当我使用 sqlik = "SELECT query which works in access" 时,它没有进行任何更改。但是使用 sqlik = "UPDATE query which works in access" 它说“在这个集合中找不到任何对象”

有什么想法吗?

感谢您的帮助

【问题讨论】:

  • CreateQueryDef 是 Access 对象,不能在 excel vba 中使用。请参考此链接vbadud.blogspot.in/2009/03/…
  • 您应该了解 ADODB,它是您需要与 JET/ISAM 数据库交互的库。

标签: excel ms-access vba


【解决方案1】:

使用 DAO 的解决方案:

...
dim db as DAO.Database, rec as Dao.Recordset
dim strSQL as String
Set db = OpenDatabase("c:\DatabaseFolder\YourDatabase.accdb")
strSQL = "SELECT * FROM yourTable WHERE yourField=1"
Set rec = db.OpenRecordset(strSQL, dbOpenDynaset, dbEditAdd)
With rec
    .MoveFirst
    ![aField] = Edit_Form.abc.Text
    .Update
End With
rec.Close
db.Close
...

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 2021-04-07
    相关资源
    最近更新 更多