0

フォームとサブフォームがあります。ボタンを使用してサブフォームの更新を許可しようとしています。しかし、私のコードは私に与えています。

KEY_ID はテキストで、他の 2 つは数値型です。

「クエリ式 "5" の構文エラー、ROOM=5。DRAWER=55 (これは、変更しようとした新しい値です) WHERE KEY_ID=5'.

これは私のフォームの画像です: http://jumpshare.com/b/17A7Pr

これは私がしようとしているものです:

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=" & Chr(39) & keyID & Chr(39) & _
    ", ROOM=" & Me.roomID & _
    ", DRAWER=" & Me.drawerID & _
    " WHERE KEY_ID=" & Me.keyID.Tag
    Debug.Print KEY_ID
End If

解決:

CurrentDb.Execute "UPDATE KEYS " & _
" SET KEY_ID=" & Me.keyID & _
", ROOM=" & Me.roomID & _
", DRAWER=" & Me.drawerID & _
" WHERE KEY_ID=" & Chr(39) & keyID.Tag & Chr(39)
4

2 に答える 2

1

解決:

CurrentDb.Execute "UPDATE KEYS " & _
" SET KEY_ID=" & Me.keyID & _
", ROOM=" & Me.roomID & _
", DRAWER=" & Me.drawerID & _
" WHERE KEY_ID=" & Chr(39) & keyID.Tag & Chr(39)
于 2013-01-11T03:19:13.117 に答える
0

Chr(39) なしでコードを試してください。これでうまくいくはずです。

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=" &  keyID  & _
    ", ROOM=" & Me.roomID & _
    ", DRAWER=" & Me.drawerID & _
    " WHERE KEY_ID=" & Me.keyID.Tag
    Debug.Print KEY_ID
End If
于 2013-01-11T03:18:55.147 に答える