1

作成したテーブルがあり、その目的は、長年にわたって作成したクエリのデータベースを格納することです。すべての情報を挿入するための対応するフォームを作成しましたが、コードを機能させるのに問題があります。

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

宛先テーブルの 3 つの列は、KW、Source、および Code です。これらの列に挿入される値は、text_key (入力するキーワードであるため、特定のものを参照する必要があるときに後で検索できます)、combo_source.Value (これはこれらのコードとクエリが保存されているデータベースのリストを含むコンボボックスで、テーブルに挿入するときに適切なものを選択します) と text_code (クエリの実際のコード自体)

このコードは、キーワード (テキスト) ソース (コンボボックス リスト) とコード (テキスト) を KWTable に挿入することになっています。しかし、レコードの追加ボタンをクリックすると、「実行時エラー 424: オブジェクトが必要です」というエラー ボックスが表示され、insertstring 行全体が強調表示されます。エラーの場所をトラブルシューティングできません。何かご意見は?

4

1 に答える 1

6

オプション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
于 2013-03-12T20:14:40.797 に答える