”プログラミング”というものへの苦手意識を払拭するために、まずは簡単なAccessVBAプログラムを作ってみましょう。
1.MDBファイルの作成
Accessを起動し、”空のデータベース”でMDBファイルを作成してください。
名前は任意ですが、ここでは「メッセージの表示.mdb」としましょう。
保存場所はどこでも良いです。
2.テーブルの作成
テーブルを”デザインビューでテーブルを作成する”で作成します。
3.レコードを作成する
このプログラムではデータは利用しません。
しかし、MDBファイルには一つ以上のテーブルは必須です。
1行目に氏名と入力し、データ型をテキスト型としてください。
4.テーブルの保存
テーブルを保存します。名前は「テーブル1」としてください。
主キーの設定を促すダイアログが出るので、”はい”と入力してください。
テーブルのウィンドウを閉じてください。
5.フォームを作成する
データベースウィンドウの左側、”フォームと書かれたところを選択してください。
フォームを”デザインビューでフォームを作成する”で作成します。
6.フォームにボタンを配置する
メニューバーの[表示] → [ツールボックス]がアクティブになっていることを確認します。
以下作成中
Daily Access
マイクロソフトアクセス(Access)の使い方入門、関数の一覧、クエリ、マクロ/VBA
SelectObject | DoCmdオブジェクト一覧
【機能】
指定したデータベースオブジェクトを選択し、アクティブにします。
【構文】
DoCmd.SelectObject オブジェクトの種類 ,オブジェクト名 ,ナビゲーションでの選択
【引数】
【例文】
指定したデータベースオブジェクトを選択し、アクティブにします。
【構文】
DoCmd.SelectObject オブジェクトの種類 ,オブジェクト名 ,ナビゲーションでの選択
【引数】
引数 | 定数 | 説明 |
---|---|---|
オブジェクトの種類 | acTable | 対象のオブジェクトをテーブルにする |
acQuer | 対象のオブジェクトをクエリにする | |
acForm | 対象のオブジェクトをフォームにする | |
acReport | 対象のレポートをレポートにする | |
オブジェクト名 | ― | 対象のオブジェクト名を指定する |
データベースウィンドウでの選択 (省略可) | True | データベースウィンドウ上で選択する |
False (既定) | 開いているオブジェクトのみ選択する |
【例文】
OpenReport | DoCmdオブジェクト
【機能】
レポートを開く
【構文】
DoCmd.OpenReport レポート名 ビュー, フィルタ名 フィルタ条件式 ,ウィンドウモード OpenArgs
【引数】
【例文】
レポートを開く
【構文】
DoCmd.OpenReport レポート名 ビュー, フィルタ名 フィルタ条件式 ,ウィンドウモード OpenArgs
【引数】
引数 | 定数 | 説明 |
---|---|---|
レポート名 | ― | 開くレポート名 |
ビュー (省略可) | acViewNormal (規定) | レポートを印刷する |
acViewDesign | デザインビューで開く | |
acViewPreview | 印刷プレビューで開く | |
acViewReport | レポートビューで開く | |
acViewLayout | レイアウトビューで開く | |
フィルタ名 (省略可) | ― | クエリ名を指定する |
フィルタ条件式 (省略可) | ― | SQL文を指定する |
ウィンドウモード (省略可) | acWindowNormal (規定) | 通常の状態で開く |
acHidden | 非表示状態で開く | |
acIcon | 最小化状態で開く | |
OpenArgs (省略可) | ― | 文字列を渡す |
【例文】
OpenForm | DoCmdオブジェクト
【機能】
フォームを開く。
【構文】
DoCmd.OpenForm フォーム名, ビュー, フィルタ名, フィルタ条件式 データモード, ウィンドウモード ,OpenArgs
【引数】
【例文】
フォームを開く。
【構文】
DoCmd.OpenForm フォーム名, ビュー, フィルタ名, フィルタ条件式 データモード, ウィンドウモード ,OpenArgs
【引数】
引数 | 定数 | 説明 |
---|---|---|
フォーム名 | ― | 開くフォーム名 |
ビュー (省略可) | acNormal (規定) | フォームビューで開く |
acDesign | デザインビューで開く | |
acPreview | 印刷プレビューで開く | |
acFormsDS | データシートで開く | |
acLayout | レイアウトビューで開く | |
フィルタ名 (省略可) | ― | クエリ名を指定する |
フィルタ条件式 (省略可) | ― | SQL文を指定する |
データモード (省略可) | acFormPropertySettings (規定) | フォームのプロパティ |
acFormAdd | 追加モードで開く | |
acFormEdit | 編集モードで開く | |
acFormReadOnly | 読み取り専用モードで開く | |
ウィンドウモード (省略可) | acWindowNormal (規定) | 通常の状態で開く |
acHidden | 非表示状態で開く | |
acIcon | 最小化状態で開く | |
OpenArgs (省略可) | ― | フォームに渡す文字列 |
【例文】
OpenQuery | DoCmdオブジェクト一覧
【機能】
クエリを開く。
【構文】
DoCmd.OpenQuery クエリ名,ビュー,データモード
【引数】
【例文】
クエリを開く。
【構文】
DoCmd.OpenQuery クエリ名,ビュー,データモード
【引数】
引数 | 定数 | 説明 |
---|---|---|
テーブル名 | ― | 開くクエリ名 |
ビュー (省略可) | acViewNormal (規定) | データシートビューで開く |
acViewDesign | デザインビューで開く | |
acViewPreview | 印刷プレビューで開く | |
データモード (省略可) | acAdd | 追加モードで開く |
acEdit (省略可) | 編集モードで開く | |
acReadOnly | 読み取り専用モードで開く |
【例文】
OpenTable | DoCmdオブジェクト
【機能】
指定したテーブルを開きます。
【構文】
DoCmd.OpenTable テーブル名,ビューの種類,データモード
【引数】
指定したテーブルを開きます。
【構文】
DoCmd.OpenTable テーブル名,ビューの種類,データモード
【引数】
引数 | 定数 | 説明 |
---|---|---|
テーブル名 | ― | 対象のテーブル名 |
ビューの種類 (省略可) | acViewNormal | データシートビューで開く |
acViewDesign | デザインビューで開く | |
acViewPreview | 印刷プレビューで開く | |
データモード (省略可) | acEdit (規定) | 編集モード |
acAdd | 追加モード | |
acReadOnly | 読み取り専用モード |
データベースオブジェクト
Accessでデータベースを作るということは、
テーブル、クエリ、フォーム、レポート、マクロ、モジュール
などを作成することを意味します。
これはExcelファイルを作ることがシートやオートシェイプや時にはマクロを作ることと同じであることと似ています。
それらの異なる機能を持つ部品のかたまりがAccessデータベースなのです。
この「部品」のことをデータベースオブジェクトと呼びます。
<まとめ>
データをインプットするオブジェクトです。
データをアウトプットするオブジェクトです。
データをインプットするための画面(主としてユーザのため)です。
データをアウトプットするための画面(主としてプリンタのため)です
データをプログラミングするためのオブジェクトです。
データをある程度自動化するためのオブジェクトです(プログラミングには劣ります)。
テーブル、クエリ、フォーム、レポート、マクロ、モジュール
などを作成することを意味します。
これはExcelファイルを作ることがシートやオートシェイプや時にはマクロを作ることと同じであることと似ています。
それらの異なる機能を持つ部品のかたまりがAccessデータベースなのです。
この「部品」のことをデータベースオブジェクトと呼びます。
- テーブル
- すべてのデータはこのテーブルに格納されます。テーブルは、ちょうどエクセルのシートとほぼ同じ外観をしています。新しいテーブルを作成するときには、フィールドの定義をしなければなりません。フィールドとは、Excelシートでいうと”A列”のことです。 同じテーブルのフィールドの値は、重なってはいけません。また、フィールドには必ずデータ型を指定する必要があります。データ型とは、その行(レコード)に、日付とか数値とか文字列とか、どんな種類の値が入るのか?ということです。Excelで、電話番号を入力したいセルの書式設定を”文字列”にしておかないと、先頭の0が省略されてしまいますね?あれと同じく、適切なデータ型を指定しておかないと、処理がおかしくなってしまうのです。 フィールドの定義が適切に終わると、もうデータを入力していくことができます。 一つのAccessデータベースファイルには、複数のテーブルを作成することができます。
- クエリ
- クエリとは、テーブルに格納されたデータを抽出、加工する機能です。データベースがデータベースであるゆえん、といっても良い重要なオブジェクトです。 Excelの機能でいうと、オートフィルタに似ています。たとえば、社員録のシートで所属部署が”総務部”でフィルタをかけると、総務部とある列だけが表示されますね?あれと似ています。 クエリを使用するにはこのように条件を指定する必要があります。 抽出だけでなく、複数のテーブルをひとつの条件で指定して表示したものを新しいテーブルとして作成することもできます。
- フォーム
- テーブルに格納されたデータの表示と追加・修正をするための専用画面です。社員の細かいデータまで含めたテーブルがあるとして、それの名前と年齢だけが分かればよい、というときには、その条件のクエリを作り、次に専用のフォームを作って表示させます。 Accessに本格的なGUI(グラフィカルユーザインタフェース)をもたらします。よくみるボタンやリストボックスやタブなどを使用することができます。
- レポート
- フォームがユーザがデータベースに値をインプットさせるためのオブジェクトだとすると、レポートはアウトプットするためのオブジェクトです。特に帳票などに紙に印刷することを主なターゲットとしています。よって、特に紙に印刷する必要性のないデータベースなら、使う機会は無いかもしれません。
- マクロ
- 簡単な機能の自動化のためにあります。マクロはExcelにもあるので理解はしやすいでしょう。しかし、Excelと違い”マクロの記録”機能はないです。あらかじめ用意されてアクションを選んでフォーム上のボタンなどに紐付けるということをします。この方法はAccessのライバルであるFileMakerのそれと似ています。
- モジュール
- VBAによるプログラミングを書いて保存しておく場所です。マクロで可能なことはすべてVBAで作成することができます。ただし、マクロのように”やりたいこと”(アクション)が分かり易く表示はされません。自分でVBAコードを書く必要があります。 とはいえ、その分高機能、多機能です。マクロには細かい条件による処理分けやエラー時の処理などが規定できます。実際、Acceessの作成者は、最初はマクロから始めても、じきに物足りなく、VBAの勉強を始めるのが一般です。 逆に言うと、それほどの多機能、高機能を求めないのであれば、使う機会がないままデータベースを運用していくことも不可能ではありません。
- ページ
- ウェブブラウザからデータベースに接続させる仕組みです。ただ、あまり出来がよろしくなく、2007からはなくなりました。本サイトでも紹介することはあまりないでしょう。
<まとめ>
データをインプットするオブジェクトです。
データをアウトプットするオブジェクトです。
データをインプットするための画面(主としてユーザのため)です。
データをアウトプットするための画面(主としてプリンタのため)です
データをプログラミングするためのオブジェクトです。
データをある程度自動化するためのオブジェクトです(プログラミングには劣ります)。
登録:
投稿 (Atom)