前回の記事で計画を立てたフォームの構成を形にしてきたいと思います。
フォームボタンを配置して他のフォームを開く仕組みをつくります。Webサイトのリンクが埋め込まれたボタンのような動作をAccessで行います。
フォームからフォームへ、画面を切り替える処理はできるようになると、システム開発をやっている感が出てくるのでがぜんやる気がでます。
シリーズ「作ろうME機器管理システム」では、フォーム「機器貸し出し画面」で装置の点検を行う立場である、臨床工学技士(以下ME)が自分の職員番号から作成したバーコードを読み込むことでメインメニューにはいることができる。
という仕組みにします。
この図はシリーズ「作ろうME機器管理システム」のフォームのフロー図です。
大まかに、フォームの構成を作っていきます。

ざっくりとフォームを作っていく
いつものようにツールバー「作成」から「フォームデザイン」で新しいフォームを作成します。
フォームを作成したら、プロパティシートを開きます。

プロパティシートの書式タブの設定をこのように変更します。

- 自動中央寄せ:はい
- レコードセレクタ:いいえ
- 移動ボタン:いいえ
- 区切り線:いいえ
- スクロールバー:なし
- コントロールボックス:いいえ
フォームを保存しておきます。名前は「機器貸し出し」にします。
同様に、「管理メニュー」、「機器情報画面」、「点検入力画面」、「修理入力画面」、「バッテリー交換入力画面」、「オプション画面」を作成しておきます。
一つ一つ作っていくのも面倒くさいので、最初に作ったフォーム「貸し出し画面」をコピペして作ってしまいましょう。

こんな感じでフォームを6個作りました。

作ったフォームが表示されたときに、どのフォームが表示されたのか、分かるようにフォームの上の方にテキストを追加しておきます。
ツールバー「デザイン」の「ラベル」をクリックして、フォームにテキストを追加していきます。

少し大きめの文字で表示したほうがそれっぽいので、フォントサイズを14Ptに変更します。

先ほど作ったフォームすべてにフォーム名を表示するようにします。

フォームを保存してから、いったん閉じておきます。
貸し出し画面からバーコードで管理メニューにログインする仕組みを作る
「機器貸し出し画面」をデザインビューで開きます。

デザインビューで開いたフォーム「貸し出し画面」にテキストボックスを追加します。

作成したテキストボックスの名前を「貸し出しID」と入力しておきます。

「貸し出しID」の定型入力を「99999999;0;_」と入力します。

テキストボックス「貸し出しID」の横にもう一つテキストボックス「ME名前」を追加します。

さらにその横にテキストボックス「部署ID」を追加します。

「貸し出しID」と「部署ID」は文字サイズとテキストボックスのサイズを少し大きめにしておきます。

テキストボックス「ME名前」のタブストップを「いいえ」にしておきます。

これでテキストボックス「貸し出しID」にバーコードを読み込むとカーソルが「部署ID」に移動するようになります。
テキストボックス「貸し出しID」のイベントプロシージャに
Me!ME名前 = DLookup("ME名前", "T-ME名前", "MEID='" & Me!貸し出しID & "'")
と入力します。

テキストボックス「部署ID」のフォーカス取得時のイベントプロシージャに
If IsNull(Me!ME名前) = False Then
DoCmd.Minimize
DoCmd.OpenForm "管理メニュー"
Else
End If
と入力します。
これで、テキストボックス「貸し出しID」にテーブル「T-ME名前」に登録されたIDのバーコードを読み込むとフォーム「管理メニュー」が表示される仕組みができました。

でもちょっと待って!
参照する「T-ME名前」のテーブルをまだ作っていないので、作ります。
管理メニューを運用するユーザーであるMEの情報の入れるテーブルを作る
「T-ME名前」という名称のテーブルを新規作成します。

フィールドの構成はこんな感じ
- MEID (主キー) 定型入力(99999999;;_)
- ME名前
- 備考
- 順番
MEIDはJANコード8を入力するので、必ず8桁の数字が入るように設定しています。
この記事で作成した「チェックディジット作成器」を使って、仮に職員ID「0000001」のアクセス太郎さんを登録してみます。

チェックディジット作成器に計算させると、「0000001」のチェックディジットは「7」という事が分かります。

テーブル「T-ME名前」に入力していきます。

バーコードを読み込んでフォーム「機器貸し出し」から「管理メニューに」移動するか確認する。
早速バーコードを読み込んで、フォーム「貸し出し画面」からフォーム「管理メニュー」に移動できるかどうかの確認をしたいところですよね。
というわけで、テーブル「T-ME名前」に登録したMEIDを最速でバーコードを作成していきます。
ツールバー「作成」から「レポートウィザード」をクリックします。

レポートウィザードが起動します。
テーブル/クエリ(T)を「テーブル:T-ME名前」を選択します。
選択可能なフィールド(A)のなかから
- MEID
- ME名前
の2つを選択して、「次へ(N)」をクリックします。

「グループレベルを指定してください」と出ますが、そのまま「次へ(N)」

「レコードを並べる方法を指定してください。」と表示されるので、気にせず「次へ(N)」

「レポートの印刷形式を選択してください。」と表示されます。
- レイアウトは「表形式(T)」
- 印刷の向きは「縦(P)」
を選択して「次へ(N)」をクリックします。

「レポート名を指定してください。」と表示されるので、
「R-ME名前」と名前を付けます。
「完了(F)」をクリックすると、レポートの出来上がりです。

「T-ME名前」の情報の一覧レポートが作成されました。
ではこのレポートにバーコードを表示していきます。

レポート「R-ME名前」をデザインビューで開きます。

バーコードを置くスペースを確保したいので、レポートの詳細部分を少し広げます。

ツールバー「デザイン」の矢印の部部をクリックします。

ActiveXコントロール(O)をくりっくします。

ActiveXコントロールの選択がでるので、「Microsoft BarCode Control 16.0」(バージョンは環境によって違うかも)を選んで「OK」をクリックします。

バーコードが挿入されました。

作成されたバーコードを右の方へ移動させます。

バーコードを右クリックしてプロパティシートを開きます。
コントロールソースを「MEID」に設定します。

今度は、バーコードを右クリックして、「Microsoft BarCode Control 16.0オブジェクト(O)」→「プロパティ(P)」を選択します。

スタイル(S)を「3-JAN-8」を選択して「OK」をクリックします。

JAN-13だったバーコードがJAN-8に変更されました。

レポートビューに切り替えると、ちゃんとバーコードが表示されています。

レポートを印刷してフォームの動作確認をしよう
バーコードリーダーで、作成したバーコードを読み込んでみます。

読み込んだ瞬間、バーコードに記載されている数字が読み込まれます。

次の瞬間、フォーム「管理メニュー」が開いています。

ちゃんと動いていますね!
次回は今回作成したフォームをボタンを押すことで移動できるようにします。
コメント