ACCESSで指定した年月日を基に出来高だけを削除する方法

データベース

Microsoft Accessを使用していると、特定の日付に関連するデータを削除したいという場面に直面することがあります。特に、株価データなどのテーブルにおいて、特定の日付の「出来高」だけを削除したいというケースが考えられます。この記事では、指定した年月日を条件に、出来高のみを削除する方法について解説します。

ACCESSでの削除クエリの基本

ACCESSでデータを削除する場合、DELETEクエリを使用します。DELETEクエリは、指定した条件に一致する行をテーブルから削除するためのSQL文です。削除するデータを絞り込むためには、WHERE句を使って条件を指定します。

例えば、ある株価テーブルから「2025/3/19」の株価データを削除するには、次のようなクエリを作成します。

DELETE FROM 株価テーブル WHERE 年月日 = #2025/3/19#;

これにより、「2025/3/19」の全てのデータが削除されます。しかし、今回は「出来高」だけを削除したいので、少し工夫が必要です。

出来高のみを削除する方法

ACCESSで「出来高」だけを削除するには、DELETEクエリを使用するのではなく、UPDATEクエリを使用して「出来高」列の値をNULLにする方法が効果的です。この方法では、特定の日付の出来高データのみをクリアすることができます。

例えば、2025年3月19日の出来高を削除する場合、次のようなUPDATEクエリを使用します。

UPDATE 株価テーブル SET 出来高 = NULL WHERE 年月日 = #2025/3/19#;

このクエリは、「2025/3/19」に対応する「出来高」列の値をNULLに変更します。これにより、出来高データだけが削除され、その他の情報(例えば株価や日付)はそのまま残ります。

複数の日付に対応する場合

複数の日付の出来高を削除したい場合も同様の手順で行います。WHERE句に複数の日付を指定することができ、複数のデータを一度に更新することができます。

例えば、2025年3月19日と2025年3月20日の出来高を削除する場合、次のようなクエリを使用します。

UPDATE 株価テーブル SET 出来高 = NULL WHERE 年月日 IN (#2025/3/19#, #2025/3/20#);

このクエリでは、指定した2つの日付の出来高がNULLに更新されます。

実際の使用例と注意点

実際の運用において、この方法を使用する場合は、テーブルのバックアップを取ることをお勧めします。データの変更は一度実行すると元に戻すことが難しくなるため、常にバックアップを取ったうえで作業を行うことが重要です。

また、UPDATEクエリでは「出来高」列にNULLが設定されるため、NULL値が許容されていない列の場合は、エラーが発生することがあります。事前に列のデータ型を確認し、NULLを許容するように設定しておくと安心です。

まとめ

ACCESSを使用して、特定の日付に関連する「出来高」データのみを削除する方法について解説しました。DELETEクエリではなく、UPDATEクエリを使用して出来高をNULLに設定することで、他の情報を残したまま出来高データだけを削除することができます。この方法を応用すれば、複数の日付にわたるデータの削除も簡単に行えます。作業前には必ずバックアップを取ることを忘れないようにしましょう。

コメント

タイトルとURLをコピーしました