を挿入し、私はエラーを取得:VBA SQL Serverのクエリ
私はこのコードを実行します。
Private Sub EditMethodAdd_Click()
MsgBox ("Add Click")
Dim rs As ADODB.Recordset
Dim introw
Dim strState As String
Dim strsql1 As String
Dim strsql2 As String
Dim all As String
Dim strConn As String
Dim conn As ADODB.Connection
MsgBox ("EditM1.Value:" & EditM1.value)
strConn = "DRIVER=SQL Server;SERVER=CHU-AS-0004;DATABASE=RTC_LaplaceD_DEV;Trusted_Connection=Yes;"
strsql1 = " INSERT INTO dbo.Method(MethodID, MethodClass, Category, Description, Description2, MSA, ReqType, Equipment, Location, Spec1, Spec2, Spec3, Spec4, Spec5, Spec6, PilotingYN) "
strsql2 = " VALUES(" & EditM1.value & ", Piloting, " & EditM3.value & ", Null, Null, Null, Null," & EditM2.value & ", " & EditM4.value & ", " & EditM5.value & ", " & EditM6.value & ", " & EditM7.value & ", " & EditM8.value & ", " & EditM9.value & ", " & EditM10.value & ", " & Null & ")"
all = strsql1 & strsql2
MsgBox ("ALL" & all)
Set conn = New ADODB.Connection
conn.Open strConn
Set rs = New ADODB.Recordset
rs.Open all, conn
MsgBox ("Insert Success")
EditMethodList.Requery
conn.Close
Set rs = Nothing
Set conn = Nothing
MsgBox "Data has been updated"
EditMethodList.Requery
End Sub
は、この問題を解決することができ、誰もがありますか?
私はクエリをうまく行ったと思いますが、このエラーはわたしを悩ましくしています。
コメントは非常に感謝しています。
MsgBox( "All" & all)はこの結果を示しています。
したがって、 'all'の内容は何ですか?明らかにあなたは*クエリを細かくしなかった*、あるいはエラーを受け取ることはできませんでしたが、作成したクエリを 'MsgBox(" ALL "&all)行に表示しないことにしました。それはあなたにそれを示すコードを持っている間に、私たちはその内容を見ることができない変数を使用して構築されているので、あなたが私たちに示すつもりはないクエリで問題をデバッグするように頼んだとき、本当に役に立ちません。 –
SQLインジェクションを防ぐためにパラメータを使用 –
'Debug.Print all'を使用し、質問を編集して出力を含めます。 –