アンケートに答えて豪華賞品を当てよう!
■■□□□□□□□□□□□□□□□□□□□□□□□□□■■
生活環境に関する簡単なアンケートに協力してね♪
『Amazonギフト券』をプレゼント!
* うきうきサマーキャンペーン *
https://px.a8.net/svt/ejp?a8mat=2TPAYH+9KQ1KY+3DQS+626XV
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
他のフォームに関してもVBAに変更しましょう。
上記は「相手先一覧」のフォームです。
ここにあるボタンをすべてVBAに変更しました。
ここは少し説明を入れましょう。
最初に「閉じる」ボタンです。
Private Sub コマンド45_Click()
DoCmd.Close acForm, "F_相手先一覧"
End Sub
基本的な構文は
DoCmd.Close [,ObjectType] [,CloseSeve]となります。
ObjectTypeとは「閉じる対象のオブジェクトを記述します。
具体例として
・acDataAccessPage・・・データアクセスページ
・acDefault・・・アクティブウィンドウ(規定値)
・acDiagram・・・ダイアグラム
・acForm・・・フォーム
・acFunction・・・関数
・acMacro・・・マクロ
・acModule・・・モジュール
・acQuery・・・クエリ
・acReport・・・レポート
・acTable・・・テーブル
上記のようになります。
CloseSeveとは保存するかどうかを指定します。
・acSaveNo・・・保存しません
・acSavePrompt・・・保存確認のダイアログを表示します(規定値)
・acSaveYes・・・自動的に保存します。
今回の記述である「DoCmd.Close acForm, "F_相手先一覧"」では
「F_相手先一覧」という名前のフォームを閉じます。
何か変更されている場合は、変更確認のダイアログが表示されます。
「次」ボタンですが下記の記述になります。
Private Sub コマンド77_Click()
On Error Resume Next
DoCmd.GoToRecord acDataForm, "F_相手先一覧", acNext
End Sub
最初の「On Error Resume Next」は最終レコードで「次」を押されると
エラーになるのでこの記述でエラーを回避します。
「前」ボタンでも同じことが言えます。
最初のレコードで「前」ボタンを押すとエラーになるのでそれを回避します。
基本的な構文は
DoCmd.GoToRecord [,DataObjectType] [,ObjectName] [,AcRecord] [,Offset]
上記のようになります。
DataObjectTypeとは対象となるオブジェクトを指定します。
具体例として
・acActiveDataObject・・・アクティブオブジェクト(規定値)
・acDataForm・・・フォーム
・acDataFunction・・・関数
・acDataQuery・・・クエリ
・acDataTable・・・テーブル
ObjectNameとは対象となるオブジェクトの名前を指定します。
AcRecordとは移動の種類を指定します。
・acNext・・・次のレコードへ
・acPrevious・・・前のレコードへ
・acFirst・・・先頭のレコードへ
・acLast・・・最後のレコードへ
・acGoto・・指定したレコードへ
・acNewRec・・・新規レコードへ
Offsetとは移動量を指定します。
今回の「DoCmd.GoToRecord acDataForm, "F_相手先一覧",
acNext」はF_相手先一覧のフォームで次のレコードを表示せよという命令になります。
基本的にしっかりクエリとかレポートを作成しておけば、
都度クエリを開いたり、レポートを開いたりするだけで済みます。
それだけならば「埋め込みマクロ」だけで十分だと思います。
【このカテゴリーの最新記事】