ACCESS VBAを学習しています。
今回はVBAを使ったフォームの開き方について学びます。
この記事では、使い方と使用例を掲載しています。
使い方については、よく使う部分だけを抜粋してご紹介しています。
詳細は公式のドキュメントをご覧ください。
説明・パラメータ
指定したフォームを開くことができます。
※クエリを開くときとパラメータや使い方が似ていますね。
書式
見栄えの関係上改行していますが、実際には1行にして書きます。
DoCmd.OpenForm “FormName”,View,FilterName,whereCondition,DataMode,windowMode,Openargs
FormName
フォーム名を指定します。必須入力。
「”」で囲んで記述します。
View
ビューを指定します。必須ではありません。
何も指定しない場合、フォームビューで開くことができます。
フォームビューは、事前にフォームをデザインしておいた状態で見るためのビューです。
以下のビューを指定することができます。
よく使うのはフォームビュー、デザインビュー、データシートビューだと思いますが、何も指定しない場合はフォームビューで開くことができます。
- acNormal:フォームビュー(デフォルト)
- acDesign:デザインビュー
- acFormDS:データシートビュー
- acFormPivotChart:ピボットグラフビュー
- acFormPivotTable:ピボットテーブルビュー
- acLayout:レイアウトビュー
- acPreview:印刷プレビュー
DataMode
編集禁止、追加のみなど、開いたフォームのデータ入力モードを指定することができます。
参照のみ許可したい時や、追加は良いものの削除されると困る場合などに指定することがあります。
- acFormAdd:新規レコード追加を許可。既存レコードの編集は禁止
- acFormEdit:既存レコードの編集と新規レコード追加を許可
- acFormPropertySettings:フォームのプロパティのみ変更を許可
- acFormReadOnly:レコードの参照のみ許可
acFormPropertySettings以外の3つは使う機会が比較的多いかと思います。
業務の流れの中では、実際に使用する際にやりたいこと、やるべきでないことが異なります。
ACCESSを使った業務システムを作成・開発する前に、どのようなことを実現したいのかという機能などをよく考えておくことも大切だと思います。
使用例(コード)
フォーム名のみ指定
1 2 3 |
Private Sub button_新規顧客登録_Click() DoCmd.OpenForm "F_新規顧客登録" End Sub |
「F_新規顧客登録」というフォームを開きました。
フォーム名以外は指定していないのでフォームビューで開いています。この使い方が多いかと思います。
フォーム名とビューを指定
1 2 3 |
Private Sub button_新規顧客登録_Click() DoCmd.OpenForm "F_新規顧客登録", acDesign End Sub |
デザインビューで開くことができました。
ACCESSを使用したシステム開発を行っている時や、運用開始後も作成者・開発者が開発作業を行う際に使うことがあるかもしれません。
フォーム、ビュー、データモードを指定
1 2 3 |
Private Sub button_新規顧客登録_Click() DoCmd.OpenForm "F_新規顧客登録", acNormal, acFormAdd End Sub |
見た目は変わりませんが、新規レコードのみ追加することが可能な状態です。
例では、新規顧客登録画面を例にしているので、新規追加のみ許可すると良いのではないかと思います。
既存顧客のデータを扱う場合には、acFormReadOnlyで参照のみ許可したり、acFormEditで追加と編集を行うことを許可するといった使い方もあるかと思います。
参考
公式ドキュメントです。
DoCmd.OpenForm メソッド (Access) | Microsoft Learn
ACCESSの記事を一覧にしています。ACCESS VBAの正式な情報は公式ドキュメントを読むべきですが、このサイトでは実際に使う場面を想定して紹介しているので、公式ドキュメントと併せて読んでいただくと理解が深まると思います。
コメント