0

既存のテーブルにデータを挿入するために使用するフォームを Access 2010 で作成しました。テーブルには、キーワード フィールド、ソース コンボ ボックス、挿入するデータを書き込むコード テキスト ボックスが含まれており、クエリを実行するためのボタンがあります。フォームのコードは次のとおりです。

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

コードは単純で、データをテーブルに入力するので、将来の使用のために参照できます。今私が抱えている問題は、SQL Server で使用する長いコードを追加しようとすると、コードが SQL からのものであるため、単一引用符から来ていると想定している構文欠落式エラーが発生することです。SQL Server で使用したコードを保存しようとすると、アクセスが認識しない単一引用符が使用されるため、エラーが発生します。挿入フォームのコードに、単一引用符を二重引用符に変換するのに役立つ何かを書き込もうとすると、それらを単一引用符に再変換すると問題が解決すると思います。私はそれを行う方法を理解することができず、実際に助けを借りることができます.

ありがとうございました

4

2 に答える 2

3

パラメーター クエリを使用すると、挿入されたテキストに含まれる引用符に関する問題を回避できます。

については、このようなアプローチを検討してくださいcmd_go_Click()

Dim strInsert As String
Dim db As DAO.database
Dim qdf As DAO.QueryDef

strInsert = "PARAMETERS pKW TEXT(255), pSource TEXT(255), pCode TEXT(255);" & vbCrLf & _
"INSERT INTO KWTable (KW, Source, Code) VALUES (pKW, pSource, pCode);"
'Debug.Print strInsert
Set db = CurrentDb
Set qdf = db.CreateQueryDef(vbNullString, strInsert)
qdf.Parameters("pKW") = Me.text_key.value
qdf.Parameters("pSource") = Me.combo_source.value
qdf.Parameters("pCode") = Me.txt_code.value
qdf.Execute dbFailOnError
Set qdf = Nothing
Set db = Nothing

JoinCells()しかし、私はどのように適合 するかを理解していません。

于 2013-04-02T19:32:33.857 に答える