插入访问表表单

时间:2013-03-12 19:25:21

标签: forms ms-access access-vba sql-insert

我有一个我创建的表,它的目的是存放我多年来创建的查询数据库,我创建了一个相应的表单来插入所有信息,但是我无法使代码工作。

Private Sub cmd_go_Click()
Dim insertstring As String

    insertstring = "INSERT INTO KWTable (KW, Source, Code) VALUES (" & text_key.Value & "," & combo_source.Value & "," & text_code.Text & ");"

    DoCmd.RunSQL insertstring

End Sub

目标表上的三列是KW,Source和Code,插入它们的值是text_key(我输入的关键字,以便稍后当我需要引用某些内容时可以搜索它们),combo_source。值(这是一个组合框,其中包含保存这些代码和查询的数据库列表,我将在插入表时选择正确的一个)和text_code(这是查询的实际代码本身)

代码应该将关键字(文本)源(组合框列表)和代码(文本)插入KWTable。但是,当我单击添加记录按钮时,我得到一个“运行时错误424:对象必需”错误框,它突出显示整个插入字符串行。我无法解决错误的位置。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

选项1

正如Remou所说,你的文字没有引号。我在每个字段周围添加了一些单引号,并添加了一些换行符以便于阅读。这有用吗?

Private Sub cmd_go_Click()
    Dim insertstring As String
    insertstring = "INSERT INTO KWTable (KW, Source, Code) VALUES ('" & _
                    text_key.Value & "','" & _
                    combo_source.Value & "','" & _
                    text_code & "');"
    DoCmd.RunSQL insertstring

End Sub

选项2

我认为这将处理在表格中存储单引号和双引号:

Private Sub cmd_go_Click()
Dim rst As recordset
Set rst = CurrentDb.OpenRecordset("KWTable ")
With rst
     .addnew
     .fields("KW")=text_key.Value
     .fields("Source")=combo_source.Value
     .fields("Code")=text_code
     .update
 End with
 End sub