メインフォームとサブフォームがあります。サブフォームに情報を追加/編集できるテキスト ボックスがメイン フォームにあります。追加は正常に機能しますが、レコードを編集しようとすると、選択したレコードの情報が希望どおりにテキスト ボックスに表示されますが、更新しようとするとデータ型エラーが発生します。また、レコードを削除しようとすると、データ型エラーも発生します。
以前のプロジェクトのパートナーの 1 人が行った作業 (CarDealership) をコピーしようとしています。KeyInventory DB に同様の機能を追加したいと考えています。使用しているファイルは次のとおりです。http://jumpshare.com/b/t7Lot8
mainKeysフォームにあるボタンのコードのみを実行しました
エラーの再現:キーの削除をクリックすると、確認ダイアログが表示されます。「実行時エラー "3464": 条件式のデータ型が一致しません」を生成する [はい] を選択します。
これは、追加/更新ボタンのコードです。
Private Sub cmdAdd_Click()
If Me.keyID.Tag & "" = "" Then
CurrentDb.Execute "INSERT INTO KEYS(KEY_ID, ROOM, DRAWER)" & _
" VALUES(" & Me.keyID & ",'" & Me.roomID & "'," & Me.drawerID & ")"
subKey.Form.Requery
Else
CurrentDb.Execute "UPDATE KEYS " & _
" SET KEY_ID=" & Me.keyID & _
", ROOM='" & Me.roomID & "'" & _
", DRAWER='" & Me.drawerID & "'" & _
" WHERE KEY_ID=" & Me.keyID.Tag
End If
cmdReset_Click
subKey.Form.Requery
End Sub
これは、[削除] ボタンのコードです。
Private Sub cmdDelete_Click()
If Not (Me.subKey.Form.Recordset.EOF And Me.subKey.Form.Recordset.BOF) Then
If MsgBox("Confirm Deletion?", vbYesNo) = vbYes Then
CurrentDb.Execute "DELETE FROM KEYS" & _
" WHERE KEY_ID=" & Me.subKey.Form.Recordset.Fields("KEY_ID")
Me.subKey.Form.Requery
End If
End If
End Sub