私は3つのフィールドを持つシンプルなフォームを持っています - テーブルVenueからの会場のリストを表示するリストボックス、日付ピッカーを持つテキストボックス、イベント名。会場のテーブルを見て会場IDを選択するには、リストボックスの値が必要です。私は、この会場IDと日付とイベント名のテキストボックスの値でイベントテーブルを更新したいと思います。示すように、私が作成したコードは次のとおりです。insertとselectを使用してSQL文字列を作成する
Private Sub cmdCreateEvent_Click()
Dim dteDateHeld As Date
Dim strEventName As String
Dim strVenue As String
Dim strSQL As String
'check at least the event name is complete - venue and date may be selected after creating the event - check with Lynette
If Me.txtEventName.Text = "" Then
MsgBox "Please enter the name of the event in order to create this record", vbOKOnly
Exit Sub
End If
'pass textbox fields to variables
dteDateHeld = Me.txtDateHeld.Text
strEventName = Me.txtEventName.Text
If Me.lstVenue.ListIndex = -1 Then 'no venue selected
'create sql string to insert details into table if no venue selected
strSQL = "Insert Into Event (EventName, DateHeld) Values (" & strEventName & "," & dteDateHeld & ")"
Else
'Create sql string to insert details into table if venue has been selected
strVenue = Me.lstVenue.Selected
'strSQL = "Insert Into Event (Venue, EventName, DateHeld)Select from Venue (VenueID) Where VenueName = " & strVenue & " "
End If
'execute the sql code to update the table
CurrentDb.Execute strSQL
'clear fields
Me.txtDateHeld.Text = ""
Me.txtEventName.Text = ""
Me.lstVenue = Null
End Sub
私は本当に私のSQL文字列を終え助けが必要 - あなたは私のコードで間違って何かを見つけることが起こるなら、私が知っていること自由に感じなさい。私はできるだけシンプルにしています。
不完全なのでエラーはありません。私はSQLステートメントを完了するために助けが必要です。指が交差して残りの部分が機能します。 – Pixie007
あなたが提案したようにクエリを設計する前に、私が持っているコードをテストして、他にも多くの問題が発生したと思いました。まず、上記のコードを実行したときに、「コントロールにフォーカスがない限り、コントロールのプロパティまたはメソッドを参照できません」というエラーが発生しました。このエラーは、次の行で生成されました。 If Me.txtEventName.Text = "" Then – Pixie007
申し訳ありません - 最後の投稿は完了していませんでした。それは、テキストボックスのテキストに関するすべてのコードに対して上記のエラーを出しました。グーグルでは、テキストプロパティを値に変更する必要があるようでした。これで、次の行にデータの不一致があることがわかります。dteDateHeld = Me.txtDateHeld.Text。また、リストボックスの選択された値を変数に渡そうとするとエラーになります。strVenue = Me.lstVenue.Selected。エラーはオプション引数ではありません。 – Pixie007