私はデータシートビューでそのレコードソースが一時テーブルであるサブフォームを持っています。したがって、ユーザーがフォームに新しいトランザクションを挿入すると、新しいレコードが一時テーブルに挿入されます。サブフォームは、ユーザーがトランザクションの日付を入力する必要がないように設定されています。つまり、サブフォームのデータシートに日付フィールドが表示されません。日付は、メインフォームのテキストボックスに挿入されます。MS Access VBA - 構文エラー、切り捨てられた更新SQLステートメント
レコードが挿入されるたびに、サブフォームのAfterUpdateサブコマンドとSQL UPDATEステートメントを使用して、一時テーブルに日付を挿入しています。しかし、私は構文エラーが発生しています。
Dim db As Database
Dim currentID As Integer
Dim transactionDate As Date
Dim strSQL As String
Private Sub Form_AfterUpdate()
Set db = CurrentDb
currentID = Me!txtID
transactionDate = Me.Parent!txtDate
strSQL = "UPDATE tblTempTable " _
& "SET transactionDate = " & transactionDate _
& " WHERE ID = " & currentID & ";"
Debug.Print (strSQL)
db.Execute strSQL
End Sub
をあなたは私が右の実行前にSQL文をpritingだし、それが印刷さ見ることができるように:UPDATE tblTempTable SET transactionDate = 17.10.2016 WHERE ID = 55;
が、私はsytnaxエラー取得しています:Syntax error in number in query expression '17.10.201'
をこれは私が使用しているコードです。 & "SET transactionDate = #" & transactionDate & "#" _
を使ってハッシュタグ内の日付以外にも、構文エラー:Syntax error in date in query expression '#17.10.2016'
が表示されます。同時に、Debug.Printは次のように出力します。UPDATE tblTempTable SET transactionDate = #17.10.2016# WHERE ID = 56;
したがって、ステートメントの末尾が切り詰められているように見えますが、私はその理由を理解していません。誰かが私を助けることができますか?
はありがとうを、魅力のように動作します! – flouwer