MEのHigeさんのためになる話

4児のパパ臨床工学技士が綴るお役立ち情報、初心者向けMicrosoftAccessについて

第8回 臨床工学技士(ビジネスマンの方も)のためのAccess講座 VBAを使ってみよう


【誰でもできる!】Access講座第8回 VBAを使ってみよう(動画からも学べます)

 この記事の前に読みたい

www.me-hige.com

 

VBA・・・完璧にマスターしなくてもシステムは作れる

f:id:me-hige:20191209194215j:plain

VBA(Visual Basic for Applications)と聞くと「ぎょ!」として「すいません、もうお腹いっぱいです。帰ります!!」てなりがちです。

正直ちゃんと勉強しようとすると奥が深く大変です。ここではAccessのシステムを動かすのに必要な簡単なコードの説明をしていきます。

 

前回からの引き続きで、メイン画面フォームを作ります

「作成」→「フォームデザイン」から新規フォームを作成します

「メイン画面」という名称でで名前を付けて保存をします

f:id:me-hige:20191209201225j:plain

プロパティシートの設定を変更します

  • 自動中央寄せ:はい
  • レコードセレクタ:いいえ
  • 移動ボタン:いいえ
  • スクロールバー:なし
  • コントロールボックス:いいえ

f:id:me-hige:20191209202019j:plain

フォームにテキストを入れる 

ツールバー「デザイン」→「コントロール」の「Aa」(ラベル)をクリック

f:id:me-hige:20191209224705j:plain

メイン画面と入力します

f:id:me-hige:20191209225022j:plain


フォームにボタンを配置

まずコントロールウィザードをOFFにしておきます

f:id:me-hige:20191209225859j:plain

コントロールの矢印の部分をクリックすると下にずりっと表示されます

「コントールウィザードの使用 」をOFFにします

f:id:me-hige:20191209225840j:plain

f:id:me-hige:20191209230415j:plain

この状態から

f:id:me-hige:20191209230431j:plain

この状態へ

コントロールウィザードがONになっていると
ボタン等を配置した時にこのようなウィザードが表示されます
私は正直使いにくいので、OFFにしちゃいます(MicroSoft様すいません)

f:id:me-hige:20191209230701j:plain


 ボタンを選択し、フォーム上に配置します

f:id:me-hige:20191209231347j:plain

ボタンが選択されている状態で「F2」ボタンを押すと、テキストが編集できます

「アイテム入力フォーム」と入力します

f:id:me-hige:20191209231531j:plain

アイテム入力フォームをダブルクリックして
プロパティシートを開き
「その他」タブの
「名前」を「アイテム入力フォーム」にします

f:id:me-hige:20191209231804j:plain

「アイテム入力フォーム」ボタンにVBAを割り当てる

f:id:me-hige:20191210224244j:plain

「アイテム入力フォーム」ボタンをクリックしたときに、アイテム入力フォームへ画面が移動する仕組みを作ります

「アイテム入力フォーム」ボタンのプロパティシートの「イベント」タブのクリック時にカーソルを合わせ、「・・・」をクリックします

f:id:me-hige:20191210224749j:plain

ビルダーの選択が表示されます

「コードビルダー」を選択し「OK」をクリック

f:id:me-hige:20191210224942j:plain

VBE(Visual Basic Editor)が起動します
このVBEは文字通りVisual Basic を記述するエディターです
色々なウインドウとボタンが表示されていて、嫌になりそうですが
ボタンにVBAを埋め込むだけなら
とりあえず赤枠の中だけ見ればOKです

f:id:me-hige:20191210225553j:plain

この

Private Sub アイテム入力フォーム_Click()

 

ここ

 

End Sub

 にアイテム入力フォームボタンをクリックした時の命令を入力します

それでは、アイテム入力フォームボタンをクリックした時に、アイテム入力フォームが開く命令を入力します

Private Sub アイテム入力フォーム_Click()
DoCmd.OpenForm "アイテム入力フォーム"
End Sub

VBE画面の「×」ボタンをクリックし、VBEを閉じ、Accessの画面に戻ります

f:id:me-hige:20191210231050j:plain

Accessのフォーム デザインビューに戻りました

f:id:me-hige:20191210231331j:plain

では、一度保存をしてフォームビューに切り替えて動作確認をしていきます

「アイテム入力フォーム」ボタンをクリックします

f:id:me-hige:20191210231838j:plain

アイテム入力フォームが開きました

f:id:me-hige:20191210231801j:plain

このように、AccessはボタンにVBAを組み込んでいくことで、
フォームとフォーム
フォームとレポート
フォームとテーブル
フォームとクエリ

をつなぐことができます

 

今回覚えたのは

DoCmd.OpenForm " 開きたいフォーム名"

です

たった1文ですが、これだけれ結構使えます

 

では次回はVBAについてもう少し説明していきます