- 締切済み
リスト外入力(NotInList)時のイベント
こんにちは。 コンボボックスのリスト外入力(NotInList)時のイベントについて教えてください。 ボックスに新しい値を入力した時、 ↓ ”「新しい値」 is not currently in the database. Would you like to add it?”というYesとNoのボタンを設けたメッセージボックスを表示。 ↓ Noを押した時→戻る。 Yesを押した時→値ソースであるテーブルに新しい値を自動で追加→リストの編集フォームを開く→追加されたレコードまでカーソルを持っていく(追加情報を入力する為)。 という動作を行いたいのです。 Private Sub Vendor_Name_NotInList(NewData As String, Response As Integer) Dim rc As Integer rc = MsgBox(NewData & " is not currently in the database. Would you like to add it?", vbQuestion + vbYesNo, "Vendor Info not available") Select Case rc Case vbYes Response = acDataErrAdded DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO Vendors (Vendor_Name) SELECT """ & NewData & """;" DoCmd.SetWarnings True DoCmd.OpenForm "Vendors_Editor", acFormDS Forms("Vendors_Editor").Recordset.FindFirst "Vendor_Name = '" & NewData & "'" Case vbNo Response = 0 End Sub と書いていますが、 DoCmd.RunSQL "INSERT INTO Vendors (Vendor_Name) SELECT """ & NewData & """;" のところで、 Run-Time Error 3134 - Syntax Error in Insert Into Statement というエラーメッセージが出て、同時に、 The text you entered isn't an item in the list. Do you want to edit the items in the list? というメッセージが出ます。(SetWarnings Falseが効かない?) 原因が分からないので教えて頂けると幸いです。
- みんなの回答 (3)
- 専門家の回答