2016-04-26 9 views
0

Hei: メインフォームを消去するために、フォームとサブフォームからレコードを削除するために、MS Access 2016でDelete Queryのグループを実行するボタンを作成しました。 彼らは私のフォームを養うのテーブルからレコードを削除するには、SQL文の以下のようなものを持っている:私は、クエリを実行すると、#excecuteを実行するとセルの削除エラーが発生する

DELETE tblConfig.TenderID, * 
FROM tblConfig 
WHERE (((tblConfig.TenderID)=[Forms]![frmGI]![TenderID])); 

実際に私のテーブルからすべてのレコードを削除しても、私は中の#Deletedを取得しますすべての削除された細胞。これは消えてしまう方法はありますか? 私はエラーを見つけましたが、答えを見つけることに成功しませんでした。 任意のアイデア

答えて

1

フォーム内の特定のレコード([frmGI].[tenderID])にあるので、削除すると、#deletedが表示されます。レコードを削除すると、新しいレコードまたは別のレコードに移動する必要があります。

サブフォームレコードを削除する場合は、サブフォームrequeryが必要です。

EDIT:

サブフォームには、次のコードの構文を使用して再クエリとクエリが行われた後に挿入します。サブフォーム上の#deletedは、サブフォーム上で発生するrefreshが原因です。リフレッシュとクエリーは同じではありません。

Forms!tblconfig.Form![subformName].Requery 
+0

実際にサブフォームレコードを削除していますが、イベントサブフォームを追加する必要があります。私の "実行クエリ"イベントの後の再クエリー? –

+0

詳細は私の編集を参照してください。希望が役立ちます。 – LiamH

+0

サブフォームがデータシートビューになっているので、場所全体を記述する必要はありませんでした。空のRequery(コントロール名は不要)を追加するだけでした。非常に有用な、答えのおかげで:) –

関連する問題