2010/2007対応 AccessVBA辞典

概 要

ビジネスアプリケーション「Access」をより便利に効率的に使うためのVBAリファレンス辞典です。データベースは、商品管理や顧客管理などビジネス現場に欠かせない道具となっており、すこしでも便利に効率的に使うことが求められています。本書では、VBA初心者がとっつきやすいように、AccessVBAの命令リファレンスとあわせ、具体的な処理の内容から辞書的に引くことができる構成となっています。上級者は、自分に必要なところをピンポイントで学習することもできます。使いやすいAccessVBAリファレンスの決定版です。実際に動作させながら理解できるサンプルファイルのダウンロードサービス付き。

著者 E-Trainer.jp[高柳靖子]
価格 本体2300円(税別)
ISBN 978-4-7980-2698-5
発売日 2010/7/31
判型 A5
色数 2色
ページ数 672
CD/DVD
対象読者 中級
シリーズ Office Dictionary Series
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 AccessVBAの概要

・VBAとは

・VBEとは

・新機能について

・VBAの基本

・関数、SQL、DAO、ADO

・変数/定数/配列

・データ型

・演算子

・デバックツール

Chapter 2 ステートメント

●2-1 変数/定数/配列

・Dim

変数を宣言し、メモリ領域を割り当てる

使用例:インプットボックスに入力した文字列を変数に代入し、指定したフォームを開く

応用例:「氏」と「名」を入力するインプットボックスを表示し、結果をメッセージボックスに表示する

・Const

定数を宣言する

使用例:インプットボックスに入力した金額を税込の金額に変換し、メッセージボックスに表示する

・ReDim

定数を宣言する

使用例:運送会社テーブルに登録されている会社名を、フォームのテキストボックスに表示する

・Set

変数またはプロパティにオブジェクトへの参照を代入する

使用例:[レポート表示]コマンドボタンをクリックし、[受注一覧]レポートを開き、レポート名をメッセージボックスに表示する

応用例:非連結のフォームの各テキストボックスに、指定したレコードソースの指定したデータを表示する

・Option Explicit

モジュール内のすべての変数に宣言を強制する

使用例:宣言されていない変数を使用して、コンパイルエラーを発生させる

●2-2 フロー処理

・For~Next

一連のステートメントを指定回数繰り返す

使用例:1から5までの連番を振る間に、さらに(1)から(3)までの連番を振る

応用例:仕入先テーブルに登録されている会社名を、イミディエイトウィンドウに表示する

・For Each~Next

配列やコレクションの各要素に対して、一連のステートメントを繰り返す

使用例:カレントデータベースに含まれる全てのクエリ名をイミディエイトウインドウに表示する

応用例:開いているすべてのテーブルを閉じる

・Do~Loop

指定した条件により、一連のステートメントを繰り返し実行する

使用例:前判断で指定した件数分の商品コードと商品名を、商品テーブルから取得し、イミディエイトウィンドウに表示する

使用例:後判断で指定した件数分の商品コードと商品名を、商品テーブルから取得し、イミディエイトウィンドウに表示する

・If~Then~Else

条件式を判断し、処理を分岐する

使用例:[終了ボタン]をクリックして、フォームを終了するときに終了するかどうかを確認する

応用例:[受注明細]テーブルの[数量]フィールドの値を確認し、100個以上の受注には「10%Off」、50個以上100個未満の受注には「5%Off」、50個未満の受注には「割引なし」とする

・Select Case

条件式を判断し、処理を複数に分岐する

使用例:インプットボックスに入力した月を評価し、四半期を表示する

応用例:トグルボタンで選択したフォームを開く

・Call

他のプロシージャを呼び出す

使用例:プロシージャ実行中に他のプロシージャを呼び出す

・GoTo

プロシージャ内の指定行へ無条件に分岐する

使用例:プロシージャ内の指定した行にジャンプする

・With

指定したオブジェクト名を省略して処理を実行する

使用例:[商品]テキストボックスの色を変更し、文字を太字に設定をする

●2-3 エラー処理

・On Error

エラー処理ルーチンを有効にし、プロシージャ内でのエラー処理ルーチンの位置を指定する

使用例:フォーム名を指定して開くプロシージャで、存在しないフォームを指定した場合でも処理を続ける

応用例:商品の検索フォームで、登録されていない商品名を検索した場合にエラーを発生させずに終了する

・Resume

エラー処理ルーチンの終了後に、プログラムの実行を再開する

使用例:フォーム名を指定して開くプロシージャで、存在しないフォームを指定した場合にはエラーメッセージを表示し、再入力または処理をキャンセルする

●2-4 ファイル/フォルダ操作

・Open

ファイルを開いて、ファイルへ入出力できるようにする

使用例:インプットボックスに入力した文字列を、[入力]テキストファイルに出力する

・ChDir

現在のフォルダを変更する

使用例:カレントフォルダを「ドキュメントフォルダ」に変更し、フォルダ内のテキストファイル名を取得する

・FileCopy

ファイルをコピーする

使用例:「報告書.docx」ファイルを同じフォルダ内に「報告書copy.docx」ファイルとしてコピーする

・MkDir

新しいフォルダを作成する

使用例:[ドキュメント]フォルダ内に[AccessVBA]フォルダを作成する

・RmDir

既存のフォルダを削除する

使用例:[ドキュメント]フォルダ内の[AVBA]フォルダと、保存されている全てのファイルを削除する

●2-5 その他のステートメント

・AppActivate

アプリケーションウィンドウをアクティブにする

使用例:他のプログラムにフォーカスを移す

・Randomize

乱数ジェネレータを初期化する

使用例:1~100までの乱数を5つ発生させ、当選者を決める

・Rem

プログラム内にコメントを記述する

使用例:プログラム修正時にわかりやすくするため、コメントを記述する

Chapter 3 イベント

●3-1 データイベント

・BeforeUpdate

変更されたデータが更新される直前に発生する

使用例:[表示価格]が変更されたとき、メッセージボックスを表示する

応用例:[表示価格]に0円以下の数値が入力されたとき、メッセージボックスを表示して自動的にキャンセルする

・BeforeInsert

新規レコードに最初の文字を入力したときに発生する

使用例:新規レコードを入力するとき、確認メッセージを表示する

・BeforeDelConfirm

レコードの削除を確認するダイアログボックスが表示される前に発生する

使用例:データを削除する前に、独自の確認メッセージと既定の削除メッセージを表示させる

・Change

コントロールの内容が変更された場合に発生する

使用例:[表示価格]テキストボックスに「1万以上」の値を入力した場合に、メッセージを表示する

・Current

フォーカスがレコードに移動したときに発生する

使用例:[支払方法]テキストボックスに「クレジットカード」と入力されている場合は背景色を水色に、それ以外は灰色で表示する

・Delete

レコードが実際に削除される前に発生する

使用例:レコードを削除するとき、オリジナルのメッセージを表示させる

・Dirty

指定されたコントロールの内容が変化した場合に発生する

使用例:支払方法を変更するときに、メッセージボックスを表示する

・NotInList

リストボックス部分に含まれていない値をテキストボックス部分に入力したときに発生する

使用例:コンボボックスのリストにない値を入力した場合にメッセージを表示し、リストの追加ができるようにする

・Undo

変更を元に戻したときに発生する

使用例:データの変更後、[ESC]キーを押したときに確認のメッセージを表示する

●3-2 キーボードイベント

・KeyDown/KeyUp

キーが押された場合、離された場合に発生する

使用例:[Alt]キーが押されたとき、入力をキャンセルする

応用例:[部署]テキストボックスのデータが変更できないようにする

・KeyPress

文字コードに対応する文字キーを押して離したときに発生する

使用例:テキストボックスに入力した文字列を大文字に変換して表示する

応用例:テキストボックスに数字以外を入力できないように設定する

●3-3 エラーイベント

・Error

エラーが検出され、呼び出し元のプログラムにエラー情報を返せないときに発生する

使用例:[支払方法]コンボボックスで、リスト以外の値を直接入力した場合にメッセージを表示させる

応用例:[ID]テキストボックスに重複したレコードを入力しようとした場合に、エラーメッセージを表示する

●3-4 マウスイベント

・Click

オブジェクト上でクリックした場合に発生する

使用例:コマンドボタンをクリックしたときに、[R_得意先]レポートを表示する

・MouseDown/MouseUp

マウスボタンを押した場合、離した場合に発生する

使用例:コマンドボタンの上でマウスボタンを押したとき、マウスボタンの種類を検出する

●3-5 タイミングイベント

・Timer

一定の時間間隔で発生する

使用例:ラベルに現在の時刻を表示する

応用例:フォームを開いてから10秒後にフォームを閉じる

●3-6 フォーカスイベント

・Activate

フォーカスを受け取り、アクティブウィンドウになるときに発生する

使用例:フォームを開くときに、同時に[F_得意先]、[F_受注]フォームを開く

・Enter/Exit

コントロールにフォーカスを受け取る前、コントロールからフォーカスを失う前に発生する

使用例:テキストボックスに移動したときに、テキストボックスの文字列を強調表示する

・GotFocus/LostFocus

フォーカスを受け取った場合、フォーカスを失った場合に発生する

使用例:テキストボックスがフォーカスを受け取った時にコメントを表示する

●3-7 フィルタイベント

・ApplyFilter/Filter

フィルタが適用されるとき、フィルタウィンドウを開く直前に発生する

使用例:フォームフィルタで、[表示価格]テキストボックスを使用不可にする

●3-8 ウィンドウイベント

・Open

レコードが表示されるときに発生する

使用例:フォームを開くときに、インプットボックスを表示してパスワードを要求する

応用例:レポートを開くときに、条件を指定する

・Close

フォームやレポートが閉じられ、画面に表示されなくなるときに発生する

使用例:フォームを閉じられたときにメッセージを表示する

応用例:フォームを閉じるときに、関連している[F_商品]フォームを閉じる

・Load/Unload

レコードが表示されるとき、フォームやレポートが閉じられ、画面に表示されなくなる前に発生する

使用例:標題に日付と時刻を表示する

使用例:フォームを閉じる前に、メッセージボックスを表示して、終了するかどうかを確認する

●3-9 印刷イベント

・Format

レコードが表示されるときに発生する

使用例:レポートの奇数ページと偶数ページで、ページ番号の表示位置を変更する

応用例:レポートの背景色を1行ごとに変更する

・NoData

データの含まれていないレポートが印刷される前に発生する

使用例:レポートを開くときに、印刷データがない場合は表示を取り消す

・Page

レポートのページ形式を整え、実際に印刷されるまでの間に発生する

使用例:レポートに枠線を作成する

・Print

レポートセクションが印刷される前に発生する

使用例:レポートを印刷するときに、ページフッターを印刷するかどうかを確認する

応用例:レポートのページごとに小計を表示する

Chapter 4 VBA関数

●4-1 文字列

・Chr

文字コードに対応する文字を取得する

使用例:インプットボックスに文字コードを入力し、イミディエイトウィンドウに対応する文字を表示する

・Format

式を指定した書式に変換する

使用例:今日の日付、現在の時間を指定した表示形式で表示する

・InStr

文字列の中から指定した文字列を検索し、最初に見つけた文字位置を取得する

使用例:インプットボックスに入力した文字列の位置を検索する

・UCase/LCase

アルファベットの文字列を大文字/小文字に変換する

使用例:インプットボックスに入力した小文字の文字列を大文字に変換する

・Right/Left

文字列の右端/左端から指定した文字数分の文字列を取得する

使用例:コマンドボタンをクリックして表示したインプットボックスに、左から取得する文字数を指定し、商品名の左から指定文字数を取得する

・Len

文字列の長さを取得する

使用例:コマンドボタンをクリックし、商品名の文字数を取得して、メッセージボックスに表示する

・Replace

文字列の一部を別の文字列に置換する

使用例:インプットボックスに入力した文字列を変数に格納し、指定したフォームを開く

・Trim

指定した文字列から前後のスペースを削除した文字列を取得する

使用例:先頭にスペースが含まれている文字列から、スペースを削除する

・Space

指定した数のスペースからなる文字列を取得する

使用例:文字と文字の間に10スペースを挿入する

・String

指定された回数だけ文字を並べた文字列を取得する

使用例:指定した記号、文字コードを指定回数分並べて表示する

・Str

指定された数値を文字列の値として変換する

使用例:指定した数値を文字列に変換し、イミディエイトウィンドウに表示する

・StrConv

文字列を指定した形式に変換する

使用例:半角文字を全角文字に変換し、メッセージボックスに表示する

●4-2 変換

・CStr

文字列を指定した形式に変換する

使用例:倍精度浮動小数点数型の値を文字列型に変換し、メッセージボックスに表示する

応用例:在庫で保留クエリの情報を、在庫で保留情報.csvファイルに出力する

・Val

文字列に含まれる数値を適切なデータ型に変換する

使用例:数値、空白を含む数値、文字列を含むデータを変換する

・Nz

Null値を別の値に変換する

使用例:コマンドボタンをクリックし、テキストボックスの値をもとに乗算を実行する

●4-3 フロー処理

・DoEvents

イベントの処理のために制御をオペレーティングシステムに渡す

使用例:イベントの割り込みを実行する

・IIf

指定した条件の結果により異なる値を取得する

使用例:インプットボックスに入力した日付が月の前半か後半かを判断する

応用例:1000より大きい値を「Large」、1000以下の値を「Small」と判断する関数を作成する

●4-4 日付/時刻

・Date

現在の日付を取得する

使用例:フォームを開いたときに、自動的に本日の日付を表示する

・Time

現在の時刻を取得する

使用例:フォームを開いたときに、自動的に現在の時刻を表示する

・DateAdd

日付や時刻を加算/減算する

使用例:インプットボックスに入力した日付に指定した月数を加算し、新しい日付をメッセージボックスに表示する

・DateDiff

指定した2つの日付の間隔を取得する

使用例:インプットボックスに入力した日付が、今日から起算して何日目なのかをメッセージボックスに表示する

・DatePart

日付の指定した部分の値を取得する

使用例:インプットボックスに入力した日付が何期に属するかを、メッセージボックスに表示する

・WeekdayName

指定された曜日を表す文字列を取得する

使用例:インプットボックスに入力した日付が何曜日なのかを、メッセージボックスに表示する

●4-5 エラー処理

・Error

指定したエラー番号に対応するエラーメッセージを表示する

使用例:エラー番号61~64のエラーメッセージを確認する

・IsError

式がエラー値かどうかを調べる

使用例:コンパイルエラーを発生させてメッセージを確認する

●4-6 定義域集計関数

・DSum

指定したレコードセットの合計を取得する

使用例:明細金額フィールドの合計金額を取得し、表示形式を指定してメッセージボックスに表示する

応用例:状態名フィールドが「引き当て済み」のデータのみ、明細金額フィールドの合計金額を取得する

・DCount

指定したレコードセットのレコード数を取得する

使用例:得意先テーブルの会社名をカウントし、取引先数をメッセージボックスに表示する

・DLookup

指定したレコードセットからフィールド値を取得する

使用例:受注IDから、商品ID、商品コード、商品名、数量を取得する

・DFirst/DLast

データが格納された順番の先頭/最後のレコードのフィールド値を取得する

使用例:指定した条件に合致するレコードのうち、最初のレコードを取得する

使用例:指定した条件に合致するレコードのうち、最後のレコードを取得する

●4-7 配列

・Array

配列を作成する

使用例:配列を作成し、曜日を代入して指定した曜日を表示する

・IsArray

変数が配列かどうかを調べる

使用例:指定した変数が配列かどうかを確認し、イミディエイトウィンドウに表示する

・Join

配列の要素を結合する

使用例:配列を結合し、メッセージボックスに表示する

●4-8 変数/定数

・IsNull

式にNull値が含まれているか調べる

使用例:テキストボックスがNull値かどうかを確認し、Null値であればメッセージを表示する

・IsNumeric

式が数値として評価できるかどうかを調べる

使用例:テキストボックスの値が数値かどうかを確認し、メッセージを表示する

・IsObject

変数がオブジェクト変数かどうかを調べる

使用例:変数がオブジェクト変数かどうかを確認し、処理を分岐する

●4-9 ファイル入出力

・EOF

ファイルの読み込み位置が末尾に達していないかどうかを調べる

使用例:TestFileを開き、最終行まで1行ずつ読み込む

使用例:ADOでレコードセットを開き、最終行まで取得する

・Loc

ファイルの現在の読み込み位置または書き込み位置を調べる

使用例:TestFileを開き、最終行まで1行ずつ読み込みながらファイル内の位置を取得する

・Seek

開いているファイルの現在の読み込み位置または書き込み位置を調べる

使用例:TestFileを開き、最終行まで1行ずつ読み込み位置を取得する

●4-10 他のアプリケーションとの連携

・CreateObject

指定した種類の新しいオブジェクトを一時的に作成する

使用例:Excelの新規ブックを作成し、ドキュメントフォルダに保存する

応用例:Excelの新規ブックを作成し、表示しているレコードを出力する

・GetObject

ファイルからオブジェクトへの参照を取得する

使用例:ドキュメントフォルダのNorthWind.accdbファイルを表示する

応用例:Wordを起動し、テキストボックスに入力した文字列をWordに出力する

・DDEInitiate

他のアプリケーションとデータの送受信を開始する

使用例:Excelを起動して、チャネルを取得する

・DDEExecute

DDEチャネルを利用して、アプリケーション間でコマンドを送信する

使用例:起動中のExcelにコマンドを送信して終了する

●4-11 その他の関数

・InputBox

入力用ダイアログボックスを表示する

使用例:インプットボックスに入力した文字列をメッセージボックスに表示する

応用例:インプットボックスに入力した文字列を元にして処理を分岐する

・MsgBox

ダイアログボックスにメッセージを表示する

使用例:任意のメッセージと注意アイコンを表示する

応用例:メッセージボックスを表示して、処理を分岐する

・RGB

色をRGB値で指定する

使用例:テキストボックスに色をつけて表示する

・Shell

他のアプリケーションを実行する

使用例:電卓を起動する

Chapter 5 メソッド

●5-1 基本操作

・OpenTable

指定したテーブルを開く

使用例:コマンドボタンをクリックし、[商品]テーブルを開く

応用例:コマンドボタンをクリックし、[仕入先]テーブルを新規入力モードで開く

・OpenQuery

指定したクエリを開く

使用例:コマンドボタンをクリックし、[在庫で保留]クエリを読み取り専用で開く

応用例:コマンドボタンをクリックし、[在庫で保留]クエリをデザインビューで開く

・SelectObject

指定したデータベースオブジェクトを選択する

使用例:コマンドボタンをクリックし、[受注リスト]フォームを選択する

・CopyObject

指定したオブジェクトをコピーする

使用例:「入出庫情報」テーブルを、「入出庫情報のコピー」という名前でコピーする

・DeleteObject

指定したオブジェクトを削除する

使用例:「入出庫情報のコピー」テーブルを削除する

・Rename

指定したオブジェクトの名前を変更する

使用例:「商品の受注のコピー」クエリを「受注集計用」という名前に変更する

応用例:[変更前]テキストボックスで指定したフォームの名前を、[変更後]テキストボックスに入力した名前に変更する

・Save

指定したオブジェクトを保存する

使用例:[保存]コマンドボタンをクリックし、保存確認のメッセージを表示して、「保存」または「キャンセル」を選択する

・Close

指定したオブジェクトを閉じる

使用例:[閉じる]コマンドボタンをクリックし、保存確認のメッセージを表示して、「保存」または「キャンセル」を選択する

・SendObject

指定したオブジェクトをメールに添付する

使用例:[送信]コマンドボタンをクリックし、山田宛に「入出庫状況」クエリを送信する

・Quit

Accessを終了する

使用例:[終了]コマンドボタンをクリックし、既定のメッセージを表示してAccessを終了する

・Maximize/Minimize

アクティブウィンドウを最大化/最小化する

使用例:フォームを開く時に、フォームを最大化して表示する。また、コマンドボタンをクリックしてフォームを最小化する

・MoveSize

アクティブウィンドウの移動やサイズ変更を行う

使用例:フォームを開く時に、指定した位置に指定したサイズで開く

・RunCommand

組み込みコマンドを実行する

使用例:[Accessオプション]ダイアログボックスを開く

応用例:複数のウィンドウを重ねて表示する

・PrintOut

指定したオブジェクトを印刷する

使用例:[印刷]コマンドボタンをクリックし、アクティブオブジェクトの3ページ目を2部印刷する

●5-2 レコード操作

・GoToRecord

指定したレコードをカレントレコードに設定する

使用例:フォームを開く時に、新しいレコードに移動する

応用例:[ページ指定]テキストボックスに入力したページに移動する

・FindRecord

指定した条件を満たす最初のレコードを検索する

使用例:[検索文字]テキストボックスに検索文字を入力し、商品区分が検索文字と一致するレコードを検索する

・FindNext

指定した条件を満たす次のレコードを検索する

使用例:[検索文字]テキストボックスに検索文字を入力し、[検索]コマンドボタンをクリックして、商品区分が検索文字と一致するレコードを検索する。その後、[次を検索]コマンドボタンをクリックして、同じ条件に一致する次のレコードを検索する

・SearchForRecord

レコードの検索アクションを実行して、特定のレコードを検索する

使用例:[検索]コマンドボックスをクリックし、テキストボックスに入力した条件で検索する

●5-3 データ操作

・OutputTo

指定したデータベースオブジェクトを複数の形式で出力する

使用例:納品書テーブルをリッチテキスト形式で出力後、Wordでファイルを開く

・TransferSpreadsheet

指定したデータベースオブジェクトを複数の形式で出力する

使用例:コマンドボタンをクリックし、[受注明細金額]テーブルを[ドキュメント]フォルダに[受注明細金額]の名前で、Excelファイルとしてエクスポートする

応用例:Excelのワークシートの指定した範囲を[運送会社]テーブルにインポートする

・TransferText

テキストファイルをインポート/エクスポートする

使用例:[得意先]テーブルのデータを、区切り記号付きテキストファイルで得意先.txtとしてエクスポートする

・ApplyFilter

テキストファイルをインポート/エクスポートする

使用例:[商品区分]フィールドが「パスタ」のレコードを表示する

応用例:テキストボックスに入力した文字列を含むレコードを表示する

・ShowAllRecords

フィルタを解除し、全てのレコードを表示する

使用例:コマンドボタンをクリックしてフィルタを解除する

●5-4 フォーム操作

・OpenForm

指定したフォームを開く

使用例:[受注リスト]フォームを開く

応用例:[受注リスト]フォームを読み取り専用で開き、[状態]フィールドが終了のレコードのみを表示する

・CreateForm

フォームを新規作成する

使用例:コマンドボタンをクリックし、フォームを新規作成してデザインビューで表示する

●5-5 レポート操作

・OpenReport

指定したレポートを開く

使用例:[受注一覧]レポートを開く

応用例:抽出条件を指定して、[受注一覧]レポートを表示する

・CreateReport

レポートを新規作成する

使用例:コマンドボタンをクリックして、レポートを作成する

・Print

レポートに文字列を印刷する

使用例:レポートヘッダーのセクションに「社内秘」を赤字で表示する

・Line

レポートに罫線を設定する

使用例:レポートに枠線を表示する

応用例:出荷日が空欄のレコードに取り消し線を引く

●5-6 データベース操作

・CloseDatabase

カレントデータベースを終了する

使用例:コマンドボタンをクリックし、データベースを終了する

●5-7 その他の操作

・LockNavigationPane

ナビゲーションウィンドウのオブジェクトをロックする

使用例:コマンドボタンをクリックして、ナビゲーションウィンドウをロックする

・Beep

スピーカーから警告を鳴らす

使用例:フォームを閉じる時に警告音を鳴らす

・SetWarnings

システムメッセージの表示/非表示を切り替える

使用例:アクションクエリを実行時に、システムメッセージを表示しない

・Undo

コントロールまたはフォーム変更のクリア

使用例:[仕入先ID]フィールドが変更されたときに、処理を取り消す

・CancelEvent

イベントをキャンセルする

使用例:[検索]コマンドボタンをクリックし、インプットボックスに4ケタ以上の発注IDを入力した場合には、レコードの検索をキャンセルする

Chapter 6 プロパティ

●6-1 書式の設定

・Name

オブジェクトの名前を取得する

使用例:コマンドボタンをクリックし、フォーム上のコントロール名とコントロールの数をメッセージボックスに表示する

・FontSize

テキストの文字の大きさを設定する

使用例:フォームを開く時に、[商品ID]テキストボックスのフォントを16ポイントにして表示する

応用例:生産中止の商品のみ、[商品名]テキストボックスのフォントを大きくして赤字で表示する

・Format

オブジェクトの表示形式を設定する

使用例:フォームを開く時に、本日の日付を指定したフォーマットで表示する

応用例:商品単価を「#,##0円」のカスタム書式で表示する

・BackColor

オブジェクトの背景色を設定する

使用例:フォームを開く時に、[税]テキストボックスに背景色を付ける

・IsVisible

レポートのコントロールの表示/非表示を設定する

使用例:レポートを開く時に、[会社名]テキストボックスにデータが表示される場合のみ、罫線を表示する

・SpecialEffect

オブジェクトの表示スタイルを設定する

使用例:[商品_ID]テキストボックスをくぼみ表示にする

・Vertical

オブジェクトを縦書きに設定する

使用例:[会社名]テキストボックスと[都道府県]テキストボックスを縦書きで表示する

・StatusBarText

ステータスバーにコメントを表示する

使用例:[説明]テキストボックスがアクティブになった時に、ステータスバーにコメントを表示する

・AllowEdits

フォームからレコードの更新を許可するかどうかを設定する

使用例:データの編集ができない、検索用のフォームにする

・AllowAdditions

フォームからレコードの追加を許可するかどうかを設定する

使用例:オプションの選択により、レコードの追加の許可/不許可を切り替える

・AllowDeletions

フォームからレコードの削除を許可するかどうかを設定する

使用例:オプションの選択により、レコードの削除の許可/不許可を切り替える

・FuriganaControl

オブジェクトにふりがなを表示する

使用例:[姓]テキストボックスに入力した文字列のフリガナを、[姓(フリガナ)]テキストボックスに表示する

・InputMask

データの定型入力を設定する

使用例:[会員番号]テキストボックスにはユーザー定義の書式、[パスワード]テキストボックスにはパスワードの書式を設定する

応用例:パスワード認証をしてフォームを開く

●6-2 フォーム/レポート

・Forms

開いているフォームを参照する

使用例:開いているフォームの名前をメッセージボックスに表示する

・ActiveForm

アクティブフォームを参照する

使用例:アクティブフォームの名前を取得し、メッセージボックスに表示する

・RecordSelectors

フォームにレコードセレクタを表示または非表示にする

使用例:フォームを開く時にレコードセレクタを非表示にする

・Reports

開いているレポートを参照する

使用例:開いているレポートの名前をメッセージボックスに表示する

・PrintSection

レポートのセクションの印刷を制御する

使用例:レポートを印刷するときに、レポートヘッダーを印刷しない

・KeepTogether

レコードをセクション/グループ単位で同一ページに印刷する

使用例:印刷するときに、1件のレコードが途中で切れないように設定する

・Page

オブジェクトのカレントページ番号を取得する

使用例:奇数ページ、偶数ページによってページ番号の印刷位置を変える

・Pages

オブジェクトの合計ページ数を取得する

使用例:レポートの下部にページ番号を、「ページ番号/合計ページ数」の形式で表示する

・Visible

オブジェクトの表示/非表示を設定する

使用例:コマンドボタンをクリックし、[受注リスト]フォームの表示/非表示を切り替える

応用例:テキストボックスの表示/非表示を切り替える

・Caption

オブジェクトに標題を設定する

使用例:フォームの標題を「Caption:受注リスト」にする

応用例:新規レコードの画面になった時に、ラベルにコメントを表示する

・IsLoaded

オブジェクトのロード状態を参照する

使用例:コマンドボタンをクリックし、ロード中のフォームとレポートを確認する

●6-3 コンボボックス/リストボックス

・RowSource/RowSourceType

オブジェクトの項目を設定し、データタイプを指定する

使用例:[状況]リストボックスのリストを値で指定する

応用例:[所属部署]リストボックスで選択された値により、[社員名]リストボックスの値を切り替えて表示する

・ListCount

オブジェクトの項目数を取得する

使用例:[確認]コマンドボタンをクリックし、[担当者]リストボックスの項目数をメッセージボックスに表示する

・Column

オブジェクトの特定の項目を取得する

使用例:リストボックスで選択した値をメッセージボックスに表示する

・Selected

オブジェクトの指定した項目が選択されているか判断する

使用例:リストボックスで選択した項目をコマンドボタンをクリックして解除する

応用例:[選択可能リスト]リストボックスで選択した項目を、[>]コマンドボタンをクリックして[選択済リスト]リストボックスに追加する

・LimitToList

コンボボックスで項目以外は入力できないように設定する

使用例:[商品区分]コンボボックスのリスト以外の値を入力できないように設定する

●6-4 テキストボックス

・Locked

オブジェクトのデータ編集をロックする

使用例:[発注_ID]テキストボックスを編集不可にし、フォームを開く時にメッセージを表示する

・IMEMode

オブジェクトにIME入力モードを設定する

使用例:テキストボックスに入力するデータの種類によって、IMEモードを切り替える

●6-5 データソース

・ControlSource

コントロールに表示するデータを設定する

使用例:非連結のテキストボックスに表示するデータを設定する

応用例:[得意先]リストボックスの項目を選択すると、値集合ソースの3列目の値を[担当者]テキストボックスに表示する

・Dirty

カレントレコードの変更状態を設定する

使用例:コマンドボタンをクリックし、データが編集中なのかどうかを確認する

・OptionValue

オプショングループの項目に識別番号を設定する

使用例:[選択肢]オプショングループで選択されたオプションの値を取得し、メッセージボックスに表示する

●6-6 サイズと位置

・InsideHeight/InsideWidth

フォームの高さ/幅を設定する

使用例:フォームの高さと幅を指定したサイズで表示する

・Height/Width

オブジェクトのサイズを設定する

使用例:サブフォームのサイズを指定したサイズで表示する

応用例:[サイズ変更]コマンドボタンをクリックし、インプットボックスで指定したサイズにサブフォームの幅を変更する

・Top

オブジェクトの上位値を設定する

使用例:イメージ図をフォームの上端、左端に配置する

応用例:イメージ図をダブルクリックし、イメージをフォームの中心に配置する

●6-7 共通の操作

・Count

コレクションの中の項目数を取得する

使用例:作成したすべてのレポート数をメッセージボックスに表示する

応用例:フォームに作成した全てのオブジェクト数をメッセージボックスに表示する

・Text

オブジェクトの文字列を設定する

使用例:テキストボックスに入力した値をメッセージボックスに表示する

応用例:テキストボックスを入力必須に設定する

●6-8 その他のコントロール

・ControlTipText

オブジェクトのポップヒントを表示する

使用例:[説明]テキストボックスにカーソルが移動した場合にポップヒントを表示する

・HyperlinkAddress

オブジェクトにハイパーリンクを設定する

使用例:コマンドボタンをクリックし、ホームページを開く

・Tag

オブジェクトの情報を取得する

使用例:タブキーが移動しているオブジェクトにより、ラベルに表示するコメントを変更する

・TabStop

オブジェクトにタブストップを設定する

使用例:入力不要なテキストボックスに、タブキーでカーソルが移動しないように設定する

・ShortcutMenu

ショートカットメニューを表示/非表示する

使用例:ショートカットメニューを使用できないように設定する

Chapter 7 DAO/ADO/ADOX

●7-1 DAOによるデータベース参照

・CurrentDB/OpenDatabase

オブジェクトの名前を取得する

使用例:カレントデータベースに接続し、メッセージボックスに表示する

応用例:他のデータベースに接続し、メッセージボックスに表示する

・OpenRecordset

オブジェクトの名前を取得する

使用例:非連結フォームを開く時に、データベースに接続し、テキストボックスに指定したデータを表示する

応用例:コマンドボタンをクリックし、Northwind.accdbに接続して、[在庫で保留]テーブルのデータをメッセージボックスに表示する

・RecordsetClone

連結フォームをもとにRecordsetを作成する

使用例:コマンドボタンをクリックし、[仕入先]フォームを作成する

・CompactDatabase

閉じているデータベースをコピーし、最適化する

使用例:[AccessVBA]データベースを最適化する

・Recordset

DAOでレコードセットをフォームに表示する

使用例:コマンドボタンをクリックし、[受注日]テキストボックスに入力した日付で抽出する

●7-2 ADOによるデータベースの接続

・Connection/Open

ADOでデータベースに接続する

使用例:コマンドボタンをクリックし、カレントデータベースに接続する

応用例:コマンドボタンをクリックし、[受注]テーブルのレコード数を確認する

・Open

ADOでレコードセットを取得する

使用例:コマンドボタンをクリックし、[商品]テーブルを開いてレコードを取得する

・Recordset

ADOでレコードセットをフォームに表示する

使用例:非連結フォームにレコードを表示する

●7-3 レコードセットの操作

・MoveFirst/MoveLast/MoveNext/MovePrevious

カレントレコードを移動する

使用例:DAOを使用して、[受注トップ10データ]テーブルの先頭のレコードの社名を表示する

使用例:ADOを使用して、[受注トップ10データ]テーブルの最終のレコードの社名を表示する

・FindFirst/FindLast/FindNext/FindPrevious/Find

カレントレコードを移動する

使用例:コマンドボタンをクリックし、[ID検索]テキストボックスに入力したIDでレコードを検索する

・Filter

レコードを抽出する

使用例:DAOを使用して、商品名でレコードを抽出し結果を表示する

使用例:ADOを使用して、数量でレコードを検索し結果を表示する

・Sort

レコードを並べ替える

使用例:DAOを使用して、[数量]でレコードを昇順に並べ替える

使用例:ADOを使用して、[検索1]、[検索2]テキストボックスで並べ替えるフィールド名を指定し、レコードを昇順に並べ替える

・Edit/Update

カレントレコードを変更する

使用例:DAOを使用して、テキストボックスに入力した変更内容で[担当者]テーブルを更新する

使用例:ADOを使用して、得意先テーブルの[ID]=1のレコードの[姓]フィールドの内容を更新する

・AddNew/Update

レコードを追加する

使用例:DAOを使用して、[受注での状態]テーブルにレコードを追加する

使用例:ADOを使用して、[入出庫情報での処理の種類]テーブルにレコードを追加する

・Delete

カレントレコードを削除する

使用例:DAOを使用して、[担当者テーブル]からレコードを削除する

・EOF/BOF

カレントレコードの位置が最後のレコード、または最初のレコードにあるかどうかを取得する

使用例:DAOを使用して、[日付別商品区分売上高]クエリのすべてのレコードをイミディエイトウィンドウに書き込む

使用例:ADOを使用して、コマンドボタンをクリックして[商品検索]テキストボックスに指定した商品を検索し、フォームに表示する

・Bookmark

カレントレコードを識別するブックマークの設定または取得する

使用例:DAOを使用して、コマンドボタンをクリックしてレコードを検索し、結果を連結フォームに表示する

●7-4 ADOX

・ActiveConnection

データベースに接続する

使用例:コマンドボタンをクリックし、カレントデータベースに接続する

・Append(Tables)/Append(Columns)

フィールドを追加してテーブルを新規作成する

使用例:ADOXを使用して、[顧客]テーブルを作成する

応用例:ADOXを使用して、[顧客]テーブルにフィールドを追加する

・Delete

オブジェクトを削除する

使用例:ADOXを使用して、[Web会員]テーブルの[担当者]フィールドを削除する

応用例:ADOXを使用して、[Web会員]テーブルを削除する

Chapter 8 SQL

●8-1 抽出

・SELECT ~ FROM

テーブルからレコードを抽出する

使用例:フォームを開く時に、SQL文を使用してテーブルから指定したフィールドをレコードソースに設定する

・SELECT ~ FROM ~ WHERE

抽出条件を設定し、テーブルからレコードを抽出する

使用例:インプットボックスに抽出条件の商品区分を入力し、テーブルからレコードを抽出する

応用例:[商品検索]テキストボックスで指定した抽出条件でテーブルからレコードを抽出し、非連結フォームに表示する

●8-2 並べ替え

・ORDER BY

レコードを昇順/降順で並べ替える

使用例:フォームを開く時に、インプットボックスで指定したフィールドを基準に並べ替えてフォームに表示する

●8-3 アクションクエリ

・UPDATE

データを更新する

使用例:[受注明細]テーブルの[数量]フィールドの値によって条件を指定し、[割引]フィールドの割引率を更新する

・DELETE

レコードを削除する

使用例:[社員]テーブルの[部署]フィールドが「営業開発」のレコードを削除する

・INSERT INTO

レコードを追加する

使用例:[商品区分追加データ]テーブルのレコードを、[商品区分テーブル]テーブルに追加する

・SELECT ~ INTO

新しいテーブルを作成する

使用例:[受注明細]テーブルと[受注]テーブルからフィールドを指定して、テーブルを作成する

●8-4 SQLクエリ

・UNION

2つのテーブルを結合し、1つにまとめる

使用例:[仕入先]テーブルと[得意先]テーブルを1つにまとめて、[取引先一覧]クエリを作成する

PR

秀和システム