1

UPDATE クエリを使用して、テーブルのフィールドを別のテーブルのフィールドから変更しようとしています。

私が使用しているクエリステートメントは次のとおりです。

UPDATE Todays_Deliveries SET Remaining = DLookup("Remaining","Current_Delivery","[MP-Ref] = Form![MP-Ref] And [Cat No] ='" & [Cat No] & "'")
WHERE "[MP-Ref] = Form![MP-Ref] And [Cat No] ='" & [Cat No] & "'";

MP-Ref は配送参照です。

Cat No. はアイテム参照です。

ここで、Todays_Deliveries は、特定の日に配達されたアイテムに関連する合計レコードを含むテーブルです。ユーザーはフォームを使用して配送を選択し、APPEND クエリを使用して、配送参照に基づいて Current_Delivery テーブルにデータを入力します。ユーザーが終了すると、DELETE クエリを使用して Current_Delivery テーブルがクリアされます。

両方のテーブルには、まだ予約する必要がある特定のレコードの合計数を含むRemaining値があります。クエリは、ユーザーが Current_Delivery フォームで Current_Delivery のRemainingフィールドを変更すると、Todays_Deliveries テーブルを更新します。すべて正常に動作しますが、クエリの実行時に Current_Delivery テーブルにないレコードはすべて NULL に更新されます。

WHERE 句を削除しても結果には影響がないように思われるため、WHERE 句を正しく使用していないと思います。

ヘルプ/アドバイスをいただければ幸いです。

4

1 に答える 1

0

Where 句全体が二重引用符で囲まれています。これは、Ms Access にとっても少し奇妙です。

これを試して :

UPDATE Todays_Deliveries 
SET Remaining = DLookup("Remaining","Current_Delivery","[MP-Ref] = Form![MP-Ref] And [Cat No] ='" & [Cat No] & "'")
WHERE [MP-Ref] = Form![MP-Ref] And [Cat No] =  "'" & [Cat No] & "'";
于 2012-10-24T17:29:43.260 に答える