プログラミング|Access(アクセス)VBA
Q:Accessのプログラミングについて、簡単に説明してください。
Accessはフォームやレポートで、VBA(Visual Basic for Application)を使ってプログラミングができます。これからフォームにプログラムを書く手順を説明します。
*今回の目標は、「プログラムを書いてみる。」ということです。
まずは動かしてみることに集中してください。
初めは動きを見てから、次にプログラムの意味を考えたほうが理解しやすいです。その逆だとかなり苦労します。
この段階では、プログラムが何を意味しているかわからなくてかまいません。そのためあえてプログラムの意味は省略しました。意味は次回にまとめて解説します。
———————————————————————-
1.Accessのファイルを起動します。
2.画面が開きますので、オブジェクトの「フォーム」を選択します。
3.ツールバーから「コード」をクリックします。
4.VBAの画面が開きました。この画面にプログラムを書いていきます。
5.まず図のように先頭に入力します。
6.次に左のコンボボックスから「Form」、右のコンボボックスから「Load」を選択します。
7.するとFormLoad(フォームを読み込んだ時)に動くプログラムを書く場所ができました。Accessのプログラミングでは、「○○を□□した時」というようにコンボボックスで選択します。
8.「Private Sub Form_Load()」から「End Sub」がプログラムの単位です。この2行は自動で表示されますので、その間に3行プログラムを書きます。
書いている途中で、入力を助けるリストが表示されますので選択します。見た目より書く量は少ないと感じるはずです。
9.同じ要領で2つのコンボボックスで場所を作り、以下のようにプログラムを完成させましょう。(英数字や記号は半角、その他は全角です)
Option Compare Database
Option Explicit
Dim Res As Variant
Private Sub Form_Load()
Me.AllowAdditions = False
Me.AllowDeletions = False
DoCmd.SetWarnings False
End Sub
Private Sub 印刷_click()
Res = MsgBox(“印刷してよろしいですか?”, vbYesNo, “印刷の確認”)
If Res = vbYes Then
DoCmd.OpenReport “R01商品マスター”, acViewPreview
Else
End If
End Sub
Private Sub 削除_Click()
If MsgBox(“削除します。よろしいですか?”, vbOKCancel, “確認”) = vbOK Then
Me.AllowDeletions = True
On Error GoTo err_削除_click
DoCmd.RunCommand acCmdDeleteRecord
Me.AllowDeletions = False
Else
End If
Exit Sub
err_削除_click:
MsgBox Err.Description
End Sub
Private Sub 商品名_AfterUpdate()
Me.AllowAdditions = False
End Sub
Private Sub 新規_Click()
Me.AllowAdditions = True
DoCmd.GoToRecord acDataForm, “F01商品マスター”, acNewRec
Me.商品名.SetFocus
End Sub
Private Sub 単価_AfterUpdate()
Me.AllowAdditions = False
End Sub
9.完成したらツールバーの「保存」をクリックして、VBAは閉じておきます。
———————————————————————-
どうですか?プログラムの意味はひとまず置いておいて、書くこと自体はそれほど難しくないですね。ここが大事です。
とりあえず書いてみる→動かしてみる→理解する
次回に動作を確認したあと、プログラムを解説します。