0

我有一个数据库(CodeStorage),其中有一个存储多个代码的表,我创建了用于插入数据、搜索和删除的表单。我正在编写插入代码,但我不断收到错误消息:

Run-time error '424':
Object Required

它总是突出显示代码

    CodeStorage.Execute = "INSERT INTO KWTable(KW, Source, Code) " & _
    " VALUES(" & Me.text_key & ",'" & Me.txt_code & "','" & _
    Me.combo_source & "')" 

完整的代码是,

    Private Sub cmdAdd_Click()
    'add data to table
    CodeStorage.Execute = "INSERT INTO KWTable(KW, Source, Code) " & _
    " VALUES(" & Me.text_key & ",'" & Me.txt_code & "','" & _
    Me.combo_source & "')"

    'refresh data in list on form
    TableSub.Form.Requery

    End Sub

有任何想法吗?

4

2 回答 2

1

根据您是在 .MDB/.ACCDB 中使用 DAO 还是在 .ADP 中使用 ADO,分别更改CodeStorageCurrentDBCurrentProject.Connection

于 2013-07-23T23:27:14.453 回答
1

要使用 .Execute 方法,您必须针对数据库对象运行它。
所以像 CurrentDb().Execute "..SQL statement.."

我经常看到在为动态查询构建 SQL 字符串时使用 DoCmd.RuNSQL,这些查询只是在 Access 本身中触及表。每种方法都有优点、缺点和陷阱。

几个更深入地讨论差异的参考项目: http ://www.utteraccess.com/wiki/index.php/RunSQL_vs_Execute http://www.pcreview.co.uk/forums/acc2000-docmd-runsql-vs- currentdb-execute-t2503687.html

于 2013-07-23T20:31:16.763 回答