本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。
Access操作関連ライブラリを使用して、Excelファイルからデータを取得し、Accessファイルのフォームにデータの転記を行うサンプルシナリオ(以降、本サンプルシナリオ)について説明します。
本サンプルシナリオは、以下の処理を行います。
本サンプルシナリオでは、以下のWinActorモジュールを使用します。
本サンプルシナリオで使用するAccessファイルについて
Accessファイル「サンプルDBファイル.accdb」(以降、Accessファイル)には以下のオブジェクトがあります。
サブフォームは、メインフォームに配置されたサブフォームコントロールから操作します。
メインフォームに入力された値(申請ID、申請日、従業員ID、配布場所)は、テーブル「T_試供品持出申請」に書き込まれます。(「氏名」は、テーブル「T_従業員マスタ」から取得しています。)
サブフォームに入力された値(明細ID(オートナンバー)、品コード、数量)は、テーブル「T_試供品持出申請明細」に書き込まれます。(品名はテーブル「T_試供品マスタ」から取得しています。)
Accessファイルにはマクロ(コマンドボタンクリック時イベントプロシージャ)が含まれています。
本サンプルシナリオで使用するExcelファイルについて
フォームに入力するデータはExcelファイル(「サンプル申請書_yyyymmdd.xlsx」(以降、申請書ファイル))に記載されているものとします。このファイルはフォルダ「未作業申請書」(以降、未作業フォルダ)内に格納されているものとします。
未作業フォルダ内には申請書ファイル以外のファイルは存在しないものとします。
申請書ファイル内に記載されたデータはすべて正しく入力されているものとします。
申請書ファイルのシート「申請書」の2~6行目を、メインフォームに入力するデータ(以降、申請データ)、10行目以降をサブフォームに入力するデータ(以降、明細データ)とします。
申請書ファイルの明細データの最終行は、「品コード」の値有無で判定します。「品コード」列の10行目から下方向に値取得し、最初に空白となった行の1行前をデータ最終行とします。(途中に空白セルが存在した場合、その前の行をデータ最終行と判断します。)
本サンプルシナリオは以下の環境で動作確認しています。
本サンプルシナリオの実施方法は以下の通りです。
ダウンロードしたZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。
Accessファイルにはマクロが含まれているので「コンテンツの有効化」を行います。
本サンプルシナリオを実行するために必要な値を、変数一覧で更新します。
事前の設定が必須な変数は下記のとおりです。(実線赤枠内)
変数一覧グループ名「申請書」内の変数
本サンプルシナリオでは「申請書ファイル」を使用する前提でシート名及び各セル・行・列番号を指定しています。違う形式のデータを使用する場合は適宜変更してください。
変数一覧グループ名「Accessファイル」内の変数
本サンプルシナリオでは「サンプルDBファイル.accdb」を使用する前提で各値を指定しています。違う形式のファイルを使用する場合は適宜変更してください。
WinActorで本サンプルシナリオを実行開始します。
各ExcelファイルのデータをAccessファイルへ書き込み、Accessファイルを閉じて本サンプルシナリオは終了します。
各Excelファイルのデータが入力したフォームに連結するテーブルに書き込まれていることを確認してください。
(T_試供品持出申請とT_試供品持出申請明細にデータが追加されます。)
本サンプルシナリオの変数が正しく指定されなかった場合、エラーメッセージが出力されます。
詳細については、エラーメッセージ一覧を参照してください。
本サンプルシナリオで使用するAccessファイルのコンテンツの有効化がされていなかった場合、マクロが実行されません。
本サンプルシナリオで使用している実装テクニックについて説明します。
本サンプルシナリオは以下の順で動作します。
【1】Accessファイルを開く
【2】Accessフォームを開く
【3】申請書ファイルから取得したデータをAccessフォームに入力
【4】Accessファイルを閉じ、Access(アプリ)を終了
シナリオフロー全体
Accessファイルを開きます。
Accessファイルを開く
データを入力するフォームは、メニューフォームのコマンドボタンをクリック(Enterキー押下)して開きます。
(1) メニューフォームを開く
遷移先フォーム選択用オプショングループと、遷移用コマンドボタンが配置されています。
(2) 入力フォーム(メインフォーム)を開く
メニューフォーム内のコマンドボタンを押下すると、メインフォームが開きます。
メニューフォームのコントロール
申請書ファイルから取得したデータを、フォームの各コントロールに入力します。
申請書ファイル及びデータ取得の繰り返しについて
メインフォームへの入力は、申請書ファイルの個数分繰り返します。(メインフロー内後判定繰返グループ「全ての申請書ファイル分繰り返す」)
未作業フォルダ内の先頭ファイルを順次取得し、フォームへ入力、入力済申請書はフォルダ「作業済申請書」(以降、作業済フォルダ)に移動させます。フォルダ内にファイルがなければ、分岐により繰り返しを終了します。
メイン内繰り返しループ
サブフォームへの入力は、申請書データファイル毎に明細行数分繰り返します。(サブルーチン「(3)サブフォームにデータ入力」内後判定繰り返しグループ「明細行数分繰り返す」)
申請書ファイルの明細データ行を順次読み取り、サブフォームへ入力します。
データの有無は「品コード」欄の値有無で判定します。この値が空白になれば分岐により繰り返しを終了します。
サブルーチン「(3)サブフォームにデータ入力」内繰り返しループ
(1) 作業対象の申請書ファイル取得
申請書フォルダ内の先頭ファイルを取得します。
(2) サブルーチングループ「メインフォームにデータ入力」
メインフォームに申請書ファイルの申請データ各値を設置します。
サブルーチン「(2)メインフォームにデータ入力」
申請書ファイルと入力フォーム
メインフォームとサブフォームのコントロール
(3) サブルーチングループ「サブフォームにデータ入力」
サブフォームに申請書ファイルの明細データ各値を設置します。
入力後、明細データ行を1進めて、繰り返しループの始点に戻ります。
サブルーチン「(3)サブフォームにデータ入力」
(4) 入力済申請書を作業済フォルダへ移動
入力の終わった申請書ファイルを保存せずに閉じ、作業済みフォルダへ移動します。
Access終了
本サンプルシナリオを再利用する際は、作業対象とするファイルに応じてファイル名やフォーム名等変更の他、Accessの各オブジェクト及びコントロールの設定をご確認の上、各ライブラリのプロパティ設定を変更してご使用ください。
(1) オプショングループについて
(シナリオ内使用箇所【2】Accessフォームを開く-(2).1)
(2) コマンドボタンについて
(シナリオ内使用箇所【2】Accessフォームを開く-(2).2)
(3) サブフォームの指定について
(シナリオ内使用箇所【3】 申請書ファイルから取得したデータをAccessフォームに入力-(3).2,3)
(4) テキストボックス、コンボボックスについて
(シナリオ内使用箇所【3】 申請書ファイルから取得したデータをAccessフォームに入力-(2).3、(3).2)
版数 | 日付 | 修正内容 | ||||||
---|---|---|---|---|---|---|---|---|
|
|
|
||||||
|
|
|
本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。
・ums6、ums7
・ums6、ums7
Access操作(SQL文実行)のライブラリでテーブルデータの登録・取得・更新・削除を行うサンプルシナリオとなります。
詳しくはこちらExcelファイルのデータをAccessファイルに取り込むサンプルシナリオとなります。
詳しくはこちらExcelファイルのデータを使用してAccessファイルのデータを更新するサンプルシナリオとなります。
詳しくはこちら在庫テーブルからデータを取得しExcelに出力するサンプルシナリオとなります。
詳しくはこちら