WinActor

2020.11.16
サンプルシナリオ Access関連
Accessのフォームで値の取得と設定を行うサンプルシナリオ

Access操作関連ライブラリを使用して、Accessファイルのフォームに表示された値の取得や設定を行うサンプルシナリオになります。

Accessのシステムを操作するシナリオ作成の学習に利用できます。

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

サンプルシナリオ概要

はじめに

Access操作関連ライブラリを使用して、Accessファイルのフォームに表示された値の取得や設定を行うサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

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

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

  • Accessファイル内の連結フォームのコントロールに表示された値を取得します。
  • 他のコントロールへ値を設置します。取得した値によって、設置する値が変わります。(分岐)
  • フォームのレコードソースのテーブルにシナリオ内で設置した値を書き込みます。

使用するWinActorモジュール

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

  • 06_文字列操作/部分一致比較
  • プチライブラリ/Accessファイルを開くライブラリ
  • プチライブラリ/Accessファイルを保存なしで閉じるライブラリ
  • プチライブラリ/Accessファイルのフォームを開くライブラリ
  • プチライブラリ/Accessファイルのフォームを保存なしで閉じるライブラリ
  • プチライブラリ/Accessファイルのフォームで次のレコードへ移動するライブラリ
  • プチライブラリ/Accessファイルのフォームでオプショングループの指定の値を選択するライブラリ
  • プチライブラリ/Accessファイルのフォームのオプショングループで選択中の値を取得するライブラリ
  • プチライブラリ/Access操作(フォームのテキストボックスで値を取得)
  • プチライブラリ/Access操作(フォームのテキストボックスに値を設定)
  • プチライブラリ/Access操作(フォームのリストボックスを選択)
  • プチライブラリ/Access操作(フォームのリストボックスで選択全解除)
  • プチライブラリ/Access操作(フォームのリストボックスで選択項目取得)
  • プチライブラリ/Access操作(フォームのチェックボックスで状態を取得)
  • プチライブラリ/Access操作(フォームのチェックボックスに状態を設定)
    (プチライブラリはこちらからダウンロードできます)

本サンプルシナリオで使用するファイル

本サンプルシナリオで使用するAccessファイルについて
(1)Accessファイル内のオブジェクトについて
 Accessファイル「サンプルDBファイル.accdb」(以降、サンプルDB)には以下のオブジェクトがあります。

  • テーブル
    • T_異動希望店舗回答
    • T_従業員マスタ
  • フォーム
    • F_異動希望店舗回答入力

(2) テーブル「T_異動希望店舗回答」とフォーム「F_異動希望店舗回答入力」(以降、入力フォーム)のデータについて

  • テーブル「T_異動希望店舗回答」は、フィールド「面談担当」以外は、あらかじめデータが入力されています。
  • 入力フォームには、「T_異動希望店舗回答」と「T_従業員マスタ」のデータが表示されます。


(3) 入力フォームの動作について

  • 「第一希望」「第二希望」「第三希望」の値によって、チェックボックスの状態(オン・オフ)を変えます。
  • 「特記事項」の有無によって、オプショングループ内のボタン(あり・なし)を選択します。
  • チェックボックスの状態、オプショングループ内の選択されているボタンを取得し、その組み合わせに従って「面談担当」の部署を、リストボックスから選択します。
  • 選択された「面談担当」は入力フォームのテキストボックス「txb_面談担当」に入力され、テーブル「T_異動希望店舗回答」に書き込まれます。

11508_input1.png
サンプルAccessファイル概要

動作確認環境

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

  • Windows10
  • WinActor6.3.0、7.1.0
  • Access2019

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

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

Step1.サンプルシナリオの読み込み

ダウンロードしたZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。

Step2.動作に必要な変数を設定

本サンプルシナリオを実行するために必要な値を、変数一覧で設定します。
本サンプルシナリオでは同梱のサンプルDBを使用する前提で各値を指定しています。他のAccessファイルを使用する場合は適宜変更してください。

  • Accessファイル
    • Accessのサンプルファイル(サンプルDB)の名前を指定します。
      例) サンプルDBファイル.accdb

  • 入力フォーム
    • 操作するフォームの名前を指定します。
      例) F_異動希望店舗回答入力

  • txb_回答№、txb_第一希望、txb_第二希望、txb_第三希望、txb_特記事項
    • 入力フォーム上の値取得対象となるテキストボックスの名前を指定します。
      例) txb_回答№、txb_第一希望、txb_特記事項

  • txb_面談担当
    • 入力フォーム上の値設置対象となるテキストボックスの名前を指定します。
      例) txb_面談担当

  • chb_倉庫希望チェック
    • 入力フォーム上のチェックボックスの名前を指定します。
      例) chb_倉庫希望チェック

  • opg_特記事項有無
    • 入力フォーム上のオプショングループの名前を指定します。
      例) opg_特記事項有無

  • lbx_面談担当リスト
    • 入力フォーム上のリストボックスの名前を指定します。
      例) lbx_面談担当リスト

  • オプションG値_1(あり)、オプションG値_2(なし)
    • オプショングループに設定する値を指定します。
      例) 1

  • lbx項目_研修室、lbx項目_運営室、lbx項目_相談室
    • リストボックスの項目の値を指定します。
      例) 研修室

  • 部分一致対象「倉庫」
    • txb_第一希望、txb_第二希望、txb_第三希望の値(v_第一希望、v_第二希望、v_第三希望)に「倉庫」が含まれているか、部分一致比較に用いる文字列「倉庫」を指定します。
      例) 倉庫

11508_input2.png
変数一覧画面

Step3.サンプルシナリオの実行

WinActorで本サンプルシナリオを実行します。
面談担当のテキストボックスへ、選択したリストボックスの値を設定後、Accessファイルを閉じ、本サンプルシナリオは終了します。

Step4.サンプルシナリオの終了後の確認

T_異動希望店舗回答の面談担当に、値が設定されていることを確認してください。

トラブルシューティング

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

サンプルシナリオ解説

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

本サンプルシナリオの流れ

本サンプルシナリオは以下の順で動作します。

【1】Accessファイルを開く
【2】Accessフォームを開く
【3】フォーム上の各コントロールに対し、値の取得及び設置を行う
【4】Accessファイルを閉じ、Access(アプリ)を終了

11508_input3.png

シナリオフロー全体

【1】Accessファイルを開く

サンプルDBを開きます。

【2】Accessフォームを開く

入力フォームを開きます。

11508_input4.png

【1】ファイルを開く-【2】フォームを開く

【3】フォーム上の各コントロールに対し、値の取得及び設置を行う

既存のデータが表示されている各テキストボックスから値を取得します。
その後、他の各コントロールへ値(状態)を設置します。設置する値(状態)は、取得した値による分岐先により決定します。

フォーム操作の繰り返しについて

  • フォームの操作は、レコード数分繰り返します。(繰り返しグループ「(2)回答№有なら繰り返す」)
  • レコードの有無はテキストボックス「txb_回答№」の値の有無で判定します。値が空白であれば、繰り返しを終了します。

11508_input5.png

【3】フォームの値の取得及び設置



(1) 1件目の「回答№」取得
 最初のレコードのテキストボックス「txb_回答№」の値を取得します。

(2) 回答№有なら繰り返す
 1.「回答№」の値が空白でなければ、フォーム操作を行います。
 2.「回答№」の値が空白であれば、繰り返しを終了します。

11508_input6.png

【3】-(1)(2)繰り返し条件設定




(3) 各テキストボックスの値取得
 フォームの各テキストボックス(txb_第一希望、txb_第二希望、txb_第三希望、txb_特記事項)の値を取得します。

11508_input7.png

【3】-(3)テキストボックスの値を取得



(4) チェックボックスの値(状態)を設定
 上記(3)で取得したtxb_第一希望、txb_第二希望、txb_第三希望の値に「倉庫」が含まれているか否かで分岐します。
  1.txb_第一希望、txb_第二希望、txb_第三希望の値(変数「v_第一希望」、「v_第二希望」、「v_第三希望」)に「倉庫」が含まれているか、部分一致比較をします。
  2.部分一致比較の結果で分岐します。
   2.1. 「倉庫」が含まれている
   →チェックボックスを「オン」(チェックを入れた状態 設定状態「True」)にします。
   2.2. 「倉庫」が含まれていない
   →チェックボックスを「オフ」(チェックがない状態 設定状態「False」)にします。

11508_input8.png

【3】-(4)チェックボックスの状態設定



(5) オプショングループ内のオプションボタンの値(状態)を設置
 上記(3)で取得した「txb_特記事項」の値(v_特記事項)の有無で分岐します。
  1.値あり→オプションボタン「あり」(オプション値:1)を選択します。
  2.値なし→オプションボタン「なし」(オプション値:2)を選択します。

11508_input9.png

【3】-(5)オプショングループのボタン選択



(6) リストボックスの項目を選択
  1.チェックボックスとオプショングループの値(状態)を取得します。
  2.値(状態)の組み合わせで分岐します。
   どの組み合わせにも該当しない場合((4)でチェックボックスの設定状態がNULLであった場合)は「以外」へ進み、リストボックスの項目選択は行いません。
   分岐条件の組み合わせと選択する項目は以下の「リスト項目選択多分岐」の通りです。

11508_input10.png

リスト項目選択多分岐



11508_input11.png

【3】-(6)リストボックス選択項目分岐



(7) リストボックスの選択項目を取得し、テキストボックスに転記
 1.リストボックスの選択されている項目(値)を取得します。
 2.取得した値を「txb_面談担当」に設置します。
 3.リストボックスの項目の選択を全て解除します。

11508_input12.png

【3】-(7)リストボックス選択項目転記・選択全解除



(8) 次のレコードへ進む
 1.次のレコードへ進みます。
 2.「txb_回答№」の値を取得します。
 3.「(2)「回答№」の値の有無で分岐」に戻ります。「txb_回答№」の値があれば、フォーム操作を繰り返します。

11508_input13.png

【3】-(8)次レコードへ移動・「回答№」取得

【4】Accessファイルを閉じ、Access(アプリ)を終了

1.入力フォームを閉じます。
2.サンプルDBを閉じAccessを終了します。

11508_input14.png

【4】Accessファイルを閉じる

【参考】本サンプルシナリオの再利用について

本サンプルシナリオを再利用する際は、作業対象とするファイルに応じてファイル名やフォーム名等変更の他、Accessの各オブジェクト及びコントロールの設定をご確認の上、各ライブラリのプロパティ設定を変更してご使用ください。

(1)テキストボックスについて
 (シナリオ内使用箇所【3】フォーム上の各コントロールに対し、値の取得及び設置を行う-(3),(7))
 ・ テキストボックスは、使用するAccessファイルの各プロパティを確認し、ライブラリのプロパティ「コントロール名」で名前を変更してご使用ください。

(2)チェックボックスについて
 (シナリオ内使用箇所【3】フォーム上の各コントロールに対し、値の取得及び設置を行う-(4),(6))
 ・ 本サンプルシナリオでは、シナリオ内でチェックボックスのオンオフを切り替え、値としてオンの場合は「True」、オフの場合は「False」を設定しています。

(3)オプショングループについて
 (シナリオ内使用箇所【3】フォーム上の各コントロールに対し、値の取得及び設置を行う-(5),(6))
 ・ オプショングループ内のオプションボタンの選択は、各ボタンに割り当てられたオプション値を指定して行っています。
 ・ 使用するAccessファイルの各オプションボタンのプロパティから、それぞれのボタンに割り当てられているオプション値をご確認ください。

(4)リストボックスについて
 (シナリオ内使用箇所【3】フォーム上の各コントロールに対し、値の取得及び設置を行う-(6),(7))
 ・ リストボックスの項目選択では、リストボックスの「連結列」として指定された列の値を選択しています。
 ・ 「連結列」の列番号は、使用するAccessファイルのプロパティをご確認ください。
 ・ リストボックス選択項目取得では、選択されている項目を、半角カンマ区切りで連結しています。
  項目を分割したい場合は、ライブラリ「07_文字列操作/02_切り出し・分割」配下の「文字列を前後に分割」「文字列を前後に分割」「文字列分割」等を使用してください。

変更履歴

版数 日付 修正内容
版数
1.0版
日付
2020/11/16
修正内容
初版
版数
1.1版
日付
2024/1/16
修正内容
・注意事項を削除
・ファイル名を「SS2011_11508_AccessOperation_SetAndGetValuesOnForm_1.0.1.zip」に変更

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

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

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