私はMicrosoft Access内でデータベースを作成しました。
フォームにボタンが付いています。クリックしたときにテーブルcustomerHeader
に新しいレコードを挿入します。
このテーブルには、オートナンバーである4つのフィールドがあります。私のSQLステートメントでは、autofieldなのでorderNumberは含めません。
ボタンをクリックしようとしたときにクリックイベントが実行されると、Microsoft Accessで追加クエリのレコードを追加できないというエラーが表示されます。Microsoft Access VBA INSERT SQLステートメント
私はあらゆるところを見てきましたが、私は解決策を見つけることができませんでした。
Private Sub addOrder_Click()
Dim mySql As String
Dim rowNum As Integer
Dim recCount As Long
Dim orderNumber As Long
Dim myBool As Boolean
Dim todayDate As Date
todayDate = CDate(Date)
myBool = False
MsgBox todayDate
rowNum = Form.CurrentRecord
rowNum = CInt(rowNum - 1)
'DoCmd.GoToRecord , , acNewRec
mySql = "INSERT INTO orderHeader (orderDate,custNumber,printed) VALUES (" & todayDate & "," & rowNum & "," & myBool & ")"
DoCmd.RunSQL mySql
Me!orderNum.Requery
日付の ' - '(# "&todayDate&"#、 "'の前後に '#'を追加しても構いませんが、SQLは機能します(日付の書式あなたの地域に応じて - 私はアクセスで日付が嫌いです。)それは与えるssage?通常、それは - 型変換失敗のために 'MS Access xフィールドがNullに設定されており、xレコードが追加されていません..... ' –
具体的には、「Microsoft Access set 0 field( s)を型変換に失敗したためにNullに設定し、キー違反、ロック違反によるレコード数0、および検証ルールによるレコード数が0であるため、テーブルに1レコードを追加しませんでした。違反 "と述べた。私は日付に#を追加しようとします –