2017-06-28 27 views
1

特定のテーブルからレコードを削除するためのフォームを作成しました。これには、ユーザーが削除したいレコードのID(フィールド名: "idp")を入力できるフィールドが含まれています。削除は、ボタンをクリックすると有効になります。ボタンの後ろに私は次のコードを持っています:アクセス2016:実行時エラー3061(VBA)

Private Sub button12_Click() 
Dim dbs As Database, rst As Recordset 
Set dbs = CurrentDb 
dbs.Execute "DELETE * FROM " _ 
    & "mytable WHERE ID = Me.idp;" 
dbs.Close 
DoCmd.Close End Sub 

しかし、それを使用しようとするとエラー3061が続きます。 ( "エラー3061があまりにも少ないパラメータ。予想1")あなたの助けに感謝します。

+1

エラーメッセージとコードを含めることはできますか? –

答えて

2

は、あなたがこのようにしてみてくださいことができます:

Private Sub button12_Click() 

    Dim dbs As Database, rst As Recordset 
    dim strCommand as String 

    Set dbs = CurrentDb 

    strCommand = "DELETE * FROM " & "mytable WHERE ID = " & Me.idp 
    debug.print strCommand 
    dbs.Execute strCommand 

    dbs.Close 
    DoCmd.Close 

End Sub 

私はあなたがパラメータとしてMe.idpを渡していなかったと思いますが、それは文字列です。

一般に、実行した後、直接のウィンドウを見てください。 Accessで新しいクエリを開くと、実行可能にする必要があります。

+0

行dbs.Execute "DELETE * FROM"& "mytable WHERE ID ="&Me.idp;赤色でハイライト表示され、コンパイルエラーが発生します。 : –

+0

@TamásKovács - 再度試してみてください。即時のウィンドウは何ですか? – Vityata

+0

これで動作しています...行の最後にセミコロンは必要ありません:) –

関連する問題