2022.03.22
サンプルシナリオ Access関連
Accessの在庫管理テーブルでDeleteを行うサンプルシナリオ

在庫テーブルから全件または条件に従ってデータを削除します。

SQLを作成せずに、Accessファイルのテーブルのデータを削除することができます。

本サンプルシナリオをダウンロードする前にこちらの注意事項を必ずご確認ください。

サンプルシナリオ概要

はじめに

Accessの在庫管理テーブルでDeleteを行うサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

注意事項

本サンプルシナリオ利用時の注意事項はこちらです。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

  • 選択ボックスにより全件削除または条件削除を選びます。
  • Select用にテーブルの列名を取得します。
  • テーブルの列名を使用してSelect処理を実行します。
    データが取得できる間は以下を繰り返します。
    • Select処理で取得した商品ID(主キー)を使用し、「Access操作(単一行Delete)」ライブラリで、全件または条件削除します。
      条件削除は在庫テーブルの当月出庫数が「0」の条件で削除します。
  • 「Access操作(ファイルを保存なしで閉じる)」ライブラリを使用して在庫管理ファイルを閉じます。

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

  • ノード/ユーザ/選択ボックス
  • ノード/変数/カウントアップ
  • 07_文字列操作/02_切り出し・分割/文字列分割.ums6
  • プチライブラリ/Access操作(ファイルを保存なしで閉じる)
  • プチライブラリ/Access操作(単一行Delete)
  • プチライブラリ/Access操作(単一行Select)
    (プチライブラリはこちらからダウンロードできます)

    • スイートライブラリ/Access操作(テーブル列名取得)
      (スイートライブラリはこちらからダウンロードできます)

    本サンプルシナリオの想定レベル

    本ドキュメントは、以下の技術レベルのユーザを対象としています。

    • Accessでテーブルを作成したことがある。

    動作確認環境

    本サンプルシナリオは以下の環境で動作確認しています。

    • Windows 10、WinActor 6.3.2、Microsoft Access 365、Microsoft Excel 365
    • Windows 10、WinActor 7.3.1、Microsoft Access 365、Microsoft Excel 365

    本サンプルシナリオの前提条件

    • 本サンプルシナリオ在庫テーブルにデータがある状態であることを前提としています。

    本サンプルシナリオの使い方

    本サンプルシナリオの実施方法は以下の通りです。

    Step1.削除データ準備

    本サンプルシナリオでは以下の在庫テーブルを削除します。

    在庫テーブル
    フィールド名:データ型

    • 商品ID:数値[十進型]13桁 (主キー)
    • 商品名:短いテキスト(255文字)
    • 在庫数:数値型(既定値:0)
    • 当月入庫数:数値型(既定値:0)
    • 当月出庫数:数値型(既定値:0)
    • 更新日時:日付/時刻型(既定値:Now())

    本サンプルシナリオではデータが10件用意されています。

    Step2.WinActorで本サンプルシナリオを読み込み

    WinActorを起動し、本サンプルシナリオを読み込みます。

    Step3.動作に必要な変数の設定・変更

    本サンプルシナリオを実行するために必要な値を、変数一覧で設定・変更します。
    以下の変数を必要に応じて設定・変更してください。

    • 在庫ファイルパス
      • DeleteするAccessファイルを絶対パスまたは相対パスで指定してください。
        (例) 在庫管理ファイル.accdb

    • テーブル名
      • Deleteするテーブル名を指定してください。
        (例) 在庫テーブル

    • 削除対象行の主キー
      • Deleteするテーブルの主キーを指定してください。
        (例) 商品ID

    18403_input01.png
    変数一覧画面

    Step4.WinActorで本サンプルシナリオを実行

    本サンプルシナリオを実行開始します。

    選択ボックスの選択により、以下の通り在庫テーブルからデータを削除します。
    一部削除:当月出庫数が「0」のデータ
    全削除:すべてのデータ

    Step5.サンプルシナリオ実行終了後の確認

    在庫テーブルのデータが、一部またはすべて削除されていることを確認してください。

    トラブルシューティング

    本サンプルシナリオでは、変数指定が不十分であった場合、エラーメッセージが出力されます。
    詳細については、エラーメッセージ一覧を参照してください。

    サンプルシナリオ解説

    本サンプルシナリオで使用している実装テクニックについて解説します。

    1.SelectとDeleteライブラリ組み合わせ時の注意点

    「Access操作(単一行Select)」ライブラリと「Access操作(単一行Delete)」ライブラリの組み合わせで削除する場合は注意が必要です。
    「Access操作(単一行Select)」ライブラリは行指定でデータを取得するため、「Access操作(単一行Delete)」ライブラリで削除した行以降の行番号が更新されます。

    例えば1行目を取得・削除する場合、削除前は2行目だったデータが1行目に繰り上がります。
    そのため、以下のような構成にしてます。
    条件削除で、条件に合致して削除した場合は、指定した行はそのままで、次のループ処理時も同じ行番号で取得します。
    条件が合致ぜず削除しなかった場合は、指定行を1加算し次の行を取得します。
    全件削除の場合は、常に1行目を指定して読み込み削除します。

    18403_input02.png
    データを削除しなかった場合の行番号加算

    2.在庫テーブルのデータ削除

    「Access操作(単一行Delete)」ライブラリでは主キーを指定して削除を実行します。
    主キーは、「Access操作(単一行Select)」ライブラリで取得したデータを分割し、商品ID部分のみを使用しています。

    18403_input03.png
    削除するテーブルの主キー取得

    変更履歴

    版数日付修正内容
    版数
    1.0版
    日付
    2022/3/22
    修正内容
    初版

    本サンプルシナリオをダウンロードする前にこちらの注意事項を必ずご確認ください。

    "Access関連"に関連するその他のサンプルシナリオ

    サンプルシナリオ一覧へ戻る
    このウェブサイトでは、お客様に最適なユーザー体験を向上するためにCookieを使用しています。
    本サイトをご利用いただくことにより、お客様がCookieの使用に同意されたものとみなします。
    弊社のCookieの使用に関する方針の詳細は、
    「プライバシーポリシー」をご確認ください。