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

在庫テーブルからデータを取得しExcelに出力するサンプルシナリオとなります。

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

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

サンプルシナリオ概要

はじめに

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

注意事項

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

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

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

  • 対象Accessファイルのテーブルの列名を取得します。
  • 取得した列名を使用して、対象テーブルからデータを取得します。
    データ取得を繰り返し実行し、データが取得できる間は以下を繰り返します。
    • 1件目のデータの場合は、現在日時付きのExcelファイルを作成し、列タイトルと取得したデータを設定します。
    • 2件目以降のデータの場合は、取得したデータをExcelファイルに設定します。
  • 出力したExcelファイルの体裁を整え、上書き保存します。
  • ExcelとAccessファイルを閉じます。

使用するWinActorモジュール

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

    • ノード/変数/変数値設定
    • ノード/変数/四則演算
    • ノード/変数/カウントアップ
    • 07_文字列操作/02_切り出し・分割/文字列分割.ums6
    • 07_文字列操作/03_連結/文字列の連結(2つ).ums6
    • 18_Excel関連/01_ファイル操作/Excel操作(新規作成)
    • 18_Excel関連/01_ファイル操作/Excel操作(上書き保存)
    • 18_Excel関連/09_セル位置/R1C1形式→A1形式 その1.ums6
    • 18_Excel関連/09_セル位置/R1C1形式 次の列へ.ums6
    • 18_Excel関連/12_書式/Excelの書式設定
    • 18_Excel関連/Excel操作(値の設定).ums6
    • プチライブラリ/現在の年月日時分秒を取得するライブラリ
    • プチライブラリ/Excelファイルの指定したシート内で行列サイズを自動調整するライブラリ
    • プチライブラリ/Access操作(ファイルを保存なしで閉じる)
    • プチライブラリ/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.動作に必要な変数の設定・変更

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

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

    • テーブル名
      • Select対象のテーブル名を指定してください。
        (例) 在庫テーブル

    • 出力Excelファイル名
      • Select結果を出力するExcelファイル名を指定してください。
        拡張子無しのファイル名のみで指定してください。
        指定無しの場合、「_日付時間.xlsx」で出力されます。
        (例) 在庫テーブル出力結果

    18402_input01.png
    変数一覧

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

    本サンプルシナリオを実行開始します。
    在庫テーブルの全データがExcelファイルに出力されるまでサンプルシナリオはループします。

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

    本サンプルシナリオが格納されているフォルダに、在庫テーブルのデータが出力されたExcelファイルが格納されていることを確認してください。
    Excelファイルは「在庫テーブル出力結果_日付時間.xlsx」の名前で出力します。

    トラブルシューティング

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

    サンプルシナリオ解説

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

    1.在庫テーブルのデータ取得

    「Access操作(単一行Select)」ライブラリを使用し、以下の設定で在庫テーブルのデータを1件ずつ取得します。

    ①「Access操作(テーブル列名取得)」ライブラリで在庫テーブルの列名を取得します。

    18402_input02.png
    テーブルの列名取得と、Selectライブラリの設定


    ②後判定繰返グループにて、カウンタを1からカウントアップします。
     カウンタの値をAccess操作(単一行Select)」ライブラリの取得対象行に設定することで、対象のレコードを取得します。
     また、取得対象行有無が「true」の間は取得を繰り返す条件式にしています。

    18402_input03.png
    取得行の設定と繰り返しグループの設定

    2.Excelファイルに出力

    在庫テーブルの1件目があった場合、新規Excelファイルを「出力Excelファイル_日付時間.xlsx」の名前で作成します。
    Excelファイルに対して、以下を行っています。

    ①ヘッダー行作成(列タイトル)
     在庫テーブルの1件目があった場合、Excelファイルの列タイトルを作成します。
     列タイトルは「Access操作(テーブル列名取得)」ライブラリで取得した列名でA1セルから横に展開します。
     1件目の場合のみ列タイトルを設定しています。

    18402_input04.png
    Excelファイルのヘッダー行作成サブルーチン



    ②データ行作成
     「Access操作(単一行Select)」ライブラリで取得したデータをExcelシートのA列から横に展開します。
     データ行は2行目から出力します。(1行目は列タイトル)
     データが取得できる間は、行を1ずつカウントアップしながら繰り返しデータを取得します。(取得対象行有無変数がFalseになるまで)

    18402_input05.png
    Excelファイルのデータ行作成サブルーチン


    ③体裁調整と上書き保存
     Excel出力完了後に、「Excelの書式設定」ライブラリで商品ID列の書式設定と、
     「Excelファイルの指定したシート内で行列サイズを自動調整するライブラリ」で幅を調整後、Excelファイルを保存しています。

    変更履歴

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

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

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

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