0

2010 へのアクセスはこちら。

1 対 1 の関係にある 2 つのテーブル (MainDB、Parts) と、「Parts」テーブルで動作するフォーム (MainForm) からのコマンドがあります。

CurrentDb.Execute "DELETE * FROM Parts WHERE ID = ID", dbFailOnError
PartsForm.Requery

これは単純に "Parts" テーブル全体を削除し、そのテーブル (PartsForm) を操作するサブフォームを再クエリします。コマンドが呼び出された場所から「MainForm」で現在選択されているレコードの ID に基づいて、単一のレコードを削除しようとしています。"MainForm" で選択されている現在のレコードと同じ ID を持つレコードが "Parts" テーブルにある場合、このコマンドは呼び出し時にそれを削除する必要があります。

もちろん、

WHERE ID = ID

が問題になりますが、コマンドは「MainDB」で使用可能なフィールドへの参照を好みませんでした。このコマンドでアクティブなレコードの ID をどのように参照しますか?

助けてくれてありがとう。これは単純な構文修正であるように思われます。

4

1 に答える 1

1
CurrentDb.Execute "DELETE * FROM Parts WHERE ID = " & Me.ID, dbFailOnError
PartsForm.Requery

余分な括弧が外部的に機能しなかった場合、機能するように見えました。

于 2013-01-30T18:54:13.947 に答える