もう一度、同じデータベースに行き詰まりました。今回は、ボタンが押されたときにテーブル内の各パーツを 1 つ削除する更新クエリを作成します。しかし、パーツがすでに 0 の場合、-1 になります。どうすればこれを防ぐことができますか?
これを実現するためにSQLを使用しました。
UPDATE [ASM-00065 WIP]
SET [ASM-00065 WIP].[Current Stock] = [ASM-00065 WIP]![Current Stock]-1;
あなたの質問を間違って理解しているかもしれませんが、その列のそのテーブルのすべての行を更新し、それらから 1 を減算しますか? その場合、次を使用できます。
UPDATE [ASM-00065 WIP]
SET [ASM-00065 WIP].[Current Stock] = [ASM-00065 WIP]![Current Stock]-1
WHERE [ASM-00065 WIP].[Current Stock] > 0
MS-Access は使用できますかIIF()
UPDATE [ASM-00065 WIP]
SET [Current Stock]
= IIF([Current Stock]>0, [Current Stock]-1, [Current Stock]);
条件を追加して、更新する行をフィルタリングできます。
UPDATE [ASM-00065 WIP] SET [ASM-00065 WIP].[Current Stock] = [ASM-00065 WIP]![Current Stock]-1 WHERE [ASM-00065 WIP]![Current Stock] > 0;