2016-03-24 54 views
0
Private Sub Command1_Click() 
    Dim strSQL As String 

    strSQL = "INSERT INTO PurchaseOrderDetails ([Supplier], [Item], [Quantity], [Cost/EA], [Total]) SELECT(" & "Me.OrderSelection_subform![Supplier]" & "." & "Me.OrderSelection_subform![Item]" & "." & "Me.OrderSelection_subform![Quantity]" & "." & "Me.OrderSelection_subform![Cost/EA]" & "." & "Me.OrderSelection_subform![Total]" & ");" 

    DoCmd.RunSQL (strSQL) 

End Sub 
+0

私は持っていますが、私がチェックしているように、エラーを駆動しているものを絞り込むことができていません値と目的地のフィールドと、すべてが一致するようです。 –

+0

デバッガを使用してください。行DoCmd.RunSQLで、strSQLの値をコピーすると、問題を見つけるのに役立ちます。 –

答えて

0

SELECTステートメントは、列を区切るためにピリオドを使用しています。コンマを使用してみてください。

から:

& "." & "Me.OrderSelection_subform![Item]" & "." 

へ:

& "," & "Me.OrderSelection_subform![Item]" & "," 

コンプリート:

strSQL = "INSERT INTO PurchaseOrderDetails ([Supplier], [Item], [Quantity], [Cost/EA], [Total]) SELECT(" & "Me.OrderSelection_subform![Supplier]" & "," & "Me.OrderSelection_subform![Item]" & ", " & "Me.OrderSelection_subform![Quantity]" & "," & "Me.OrderSelection_subform![Cost/EA]" & "," & "Me.OrderSelection_subform![Total]" & ");"  
DoCmd.RunSQL (strSQL) 
+0

私は提案したようにピリオドをカンマに変更し、SELECTをVALUESに変更しました。これでパラメータ値を入力するよう求められました。サブフォームの値を選択するにはどうすればよいですか? –

+0

実行時にstrSQLの内容を表示できますか?また、使用しているデータベースプラットフォームを示すことも役立ちます。 –

関連する問題