インターネットのリンクのように、MicrosoftAccessのフォーム同士をボタンを押すことで行き来できるようにできると、Accessシステムを作っている感がでます。
VBAで2行のコードを打ち込むだけで簡単にできます。
フォーム同士のつながりは過去記事でも書きましたが、こんな感じです。
「機器貸し出し画面」かあ「メインメニュー」への流れは前回つくりました。
「AccessでME機器管理システム05」の続きでフォーム同士をつないでいきます。
フォームにボタンを配置する
フォーム「管理メニュー」をデザインビューで開きます。
ツールバー「デザイン」からコントロールの「ボタン」を選びます。
フォーム「管理メニュー」にボタンを配置します。
ボタンの表題を「機器情報入力フォーム」と入力します。
ボタンの名前も「機器情報入力フォーム」にします。
表題と一緒の方が分かりやすいの合わせてしまいます。
ボタン「機器情報入力フォーム」と同様に「機器情報画面」「点検入力画面」「修理入力画面」「バッテリー交換入力画面」「オプション画面」を設置していきます。
ボタンにVBAを組み込む
ボタンに各フォームを開くVBAを組み込んでいきまうす。
まずはボタン「機器情報入力フォーム」からいきます。
ボタン「機器情報入力フォーム」を右クリックしてプロパティシートを開きます。
「イベント」タブのクリック時の「…」をクリックします。
「コードビルダー」を選択して「OK」をクリックします。
VBAが起動します。
プロシージャ内にこのコードを入力していきます。
DoCmd.OpenForm "機器情報入力フォーム"
DoCmd.Close acForm, "管理メニュー"
ボタン「機器情報画面」はこんな感じ
DoCmd.OpenForm "機器情報画面"
DoCmd.Close acForm, "管理メニュー"
ボタン「点検入力画面」はこんな感じ
DoCmd.OpenForm "点検入力画面"
DoCmd.Close acForm, "管理メニュー"
ボタン「修理入力画面」はこんな感じ
DoCmd.OpenForm "修理入力画面"
DoCmd.Close acForm, "管理メニュー"
ボタン「バッテリー交換入力画面」はこんな感じ
DoCmd.OpenForm "バッテリー交換入力画面"
DoCmd.Close acForm, "管理メニュー"
ボタン「オプション画面」はこんな感じ
DoCmd.OpenForm "オプション画面"
DoCmd.Close acForm, "管理メニュー"
これで、各フォームへ移動できるようになりました。
各フォームから管理メニューに戻るボタンを設置
管理メニューから、いろんなフォームに移動できるようになりました。
今の状態だと、行ったっきりで簡易メニューに戻ってこれない常態なので、戻って来れるようにします。
手始めに「機器情報入力フォーム」に戻るボタンを設置しましょう。
「機器情報入力フォーム」をデザインビューで開きます。
ツールバー「デザイン」のコントロールにある「ボタン」を選びます
ボタン「保存」の横に新しいボタンを設置します。
新しく設置したボタンを右クリックしてプロパティシートを開きます。
ボタンの名前を「戻る」にします。
ついでに表題も「戻る」にします。
「イベント」タブのクリック時の「…」をクリックしてコードビルダーを選択します。
VBAが起動するので、プロシージャ内にコードを入力していきます。
入力するコードは
DoCmd.OpenForm "管理メニュー"
DoCmd.Close acForm, "機器情報入力フォーム"
コードを入力したら、VBAは閉じて、フォームを上書き保存します。
機器情報画面、点検入力画面、修理入力画面、バッテリー交換入力画面、オプション画面についても同様にボタンを配置して、ボタンにVBAを組み込みます。
機器情報画面の戻るボタンのVBAは
DoCmd.OpenForm "管理メニュー"
DoCmd.Close acForm, "機器情報画面"
点検入力画面の戻るボタンのVBAは
DoCmd.OpenForm "管理メニュー"
DoCmd.Close acForm, "点検入力画面"
修理入力画面の戻るボタンのVBAは
DoCmd.OpenForm "管理メニュー"
DoCmd.Close acForm, "修理入力画面"
バッテリー交換入力画面の戻るボタンのVBAは
DoCmd.OpenForm "管理メニュー"
DoCmd.Close acForm, "バッテリー交換入力画面"
オプション画面の戻るボタンのVBAは
DoCmd.OpenForm "管理メニュー"
DoCmd.Close acForm, "オプション画面"
こんな感じで、フォームを開いて閉じる
という処理をすることで、フォーム間を移動しているという感覚になります。
コメント