ray88’s diary

お仕事で困ったとき用の自分用の覚書

Access VBA

VBA クラスモジュールを応用したサンプルコード①

■サンプルコード内容の図解 ■サンプルコード クラスモジュール(Customerクラスを利用してCustomersクラスを作成) Option Explicit '顧客情報セットのコレクション Private myItems As Collection '顧客情報IDをキーとしてコレクションの要素番号を紐づける…

VBA クラスモジュール プロパティプロシージャ(Let と Get)

■クラスモジュール(Customerクラス) Option Explicit 'モジュールレベル変数を宣言 Private cID As String 'ID Private cName As String '氏名 Private cAge As Long '年齢 Private cGender As Variant '性別 'IDを設定 Public Property Let ID(ByVal vID A…

VBA クラスモジュールの作成

■クラスモジュールの作成の仕方 ■モジュール名の変更の仕方

VBA 列挙型・Enumステートメント

■列挙型 数値を列挙して独自の型のように利用できる。 定数の一種でLong型の値を割り当てることができる。 Enumステートメントを使用して定義する。 【サンプルコード①】 Option Explicit '色番号を定数化 Enum ColorNumber Red = 3 Green = 4 Yellow = 5 Bl…

Docmdオブジェクト 警告音を鳴らす

■Beepメソッド 警告音を鳴らす 【書式】 Docmd.Beep (例) Sub Test13() DoCmd.Beep MsgBox "警告音が再生されました" End Sub

Docmdオブジェクト 画面の再描画のオン/オフを切り替える(Echoメソッド)

■Echoメソッドは画面の再描画のオン/オフを切り替える 【書式】 Docmd.Echo TrueまたはFalse True:マクロ実行中に画面を再描画して結果を反映する。 False:画面を再描画しない Sub Test14() DoCmd.Echo False DoCmd.OpenTable "T社員名簿" DoCmd.OpenQuer…

Docmdオブジェクト 指定したオブジェクトを保存・閉じる

■Saveメソッド:指定したオブジェクトを保存する ■Closeメソッド:指定したオブジェクトを閉じる 【書式】 Docmd.Save オブジェクトの種類,オブジェクトの名前 Docmd.Close オブジェクトの種類,オブジェクトの名前,保存方法 (例) Sub Test8() DoCmd.Close a…

Docmdオブジェクト Accessを終了する Quitメソッド

■Quitメソッド:Accessを終了する。終了前にデータベースを保存することもできる 【書式】 Docmd.Quit 保存設定 【引数】 保存設定 説明 acQuitPrompt 変更の保存を確認するダイアログボックスが表示される acQuitSaveAll(既定) ダイアログボックスを表示せ…

Docmdオブジェクト AccessVBA アラートを非表示にする

■SetWarningsメソッド アラートの表示・非表示を切り替える 【書式】 Docmd.SetWarnings True または False (例) Sub Test15() DoCmd.SetWarnings False DoCmd.OpenQuery "Q社員名簿更新" DoCmd.SetWarnings True End Sub

Docmdメソッド レコードの検索

■FindRecordメソッド:指定した条件を満たす最初のレコードを検索する ■FindNextメソッド:FindRecordメソッドで検索した次のレコードを検索する 【書式】 Docmd.FindRecord 検索するデータ,検索条件,文字の区別,検索方向,表示書式による検索,検索対象,最初…

Docmdオブジェクト テーブル・クエリ・フォームにフィルタを設定・解除する。

■ApplyFilterメソッド アクティブなテーブル・クエリ・フォームにフィルタを設定する ■ShowAllRecordsメソッド フィルタの設定を解除する 【書式】 Docmd.ApplyFilter フィルタ名,抽出条件 Docmd.ShowAllRecords 【引数】 ApplyFilterメソッドの引数 ※フィル…

Docmdオブジェクト データベースを様々な形式で出力する(OutputTo)

■OutputToメソッドはテキストを様々な形式で出力できるが、大量データの出力には不向き。 大量データの出力にはTransferTextまたはTransferSpreadsheetメソッドの使用を推奨。■データをExcelファイル形式で出力する場合、OutoputToメソッドで出力すると書式…

Docmdオブジェクト PrintOutメソッド

【書式】 Docmd.PrintOut 印刷範囲,開始ページ,終了ページ,印刷品質,印刷部数,部単位の印刷 (例) Sub Test7() DoCmd.SelectObject acReport, "R社員名簿" DoCmd.PrintOut acPrintAll End Sub (例2)レポートを印刷する場合、以下のコードでも印刷できる。 ※…

Docmdオブジェクト Excelファイルのインポート・エクスポート

【書式】 Docmd.TransferSpreadsheet 変換種類,ファイル形式,テーブル名,ファイル名,フィールド名設定,Range (例) Sub Test9() DoCmd.TransferText acExportDelim, _ , "T社員名簿", "C:\temp\T社員名簿.txt", True DoCmd.TransferText acImportDelim, _ , "…

Docmdオブジェクト テキストファイルをインポート・エクスポートする

【書式】 Docmd.TransferText 変換種類,定義名,テーブル名,ファイル名,フィールド名設定 (例) Sub Test9() DoCmd.TransferText acExportDelim, _ , "T社員名簿", "C:\temp\T社員名簿.txt", True DoCmd.TransferText acImportDelim, _ , "新T社員名簿", "C:\t…

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

【書式】 Docmd.Rename 新しい名前,オブジェクトの種類,オブジェクト名 (例) Sub Test6() DoCmd.CopyObject , "F社員名簿コピー", acForm, "F社員名簿" Stop DoCmd.Rename "新F社員名簿", acForm, "F社員名簿コピー" Stop DoCmd.DeleteObject acForm, "新F…

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

■Deleteメソッドは指定したオブジェクトを削除する 【書式】 Docmd.DeleteObject オブジェクトの種類,オブジェクト名 (例) Sub Test6() DoCmd.CopyObject , "F社員名簿コピー", acForm, "F社員名簿" Stop DoCmd.Rename "新F社員名簿", acForm, "F社員名簿コ…

Docmdオブジェクト CopyObjectメソッド 指定したオブジェクトをコピーする

■CopyObjectメソッドは指定したオブジェクトをコピーする 【書式】 Docmd.CopyObject コピー先データベース,新しい名前,オブジェクトの種類,オブジェクト名 (例) Sub Test6() DoCmd.CopyObject , "F社員名簿コピー", acForm, "F社員名簿" Stop DoCmd.Rename …

Docmdオブジェクト アクティブウィンドウの移動・サイズ変更

■MoveSizeメソッドはアクティブウィンドウの移動やサイズ変更を行う。 【書式】 ※最低1つは引数を指定する必要がある。省略した引数はウィンドウの現在の設定値が使用される。 Docmd.MoveSize 水平位置,垂直位置,ウィンドウ幅,ウィンドウ高さ ■引数の単位に…

Docmdオブジェクト ウィンドウの表示方法を指定する

■Maximizeメソッド アクティブウィンドウを最大化して表示する■Minimizeメソッド アクティブウィンドウを最小化して表示する■Renameメソッド アクティブウィンドウを元のサイズで表示する【書式】 Docmd.Maximize Docmd.Minimize Docmd.Restore (例) Sub Te…

Docmdオブジェクト GotoControlメソッド

■GoToControlメソッドは指定したフィールド、またはコントロールにフォーカスを移動する。 【書式】 DoCmd.GoToControl コントロール名 (例) Sub Test3() DoCmd.SelectObject acForm, "F社員名簿" DoCmd.GoToControl "社員名" MsgBox "[社員名]コントロ…

Docmdオブジェクト SelectObjectメソッド

■SelectObjectメソッドは指定したデータベースのオブジェクトを選択し、アクティブにする 【書式】 Docmd.SelectObject オブジェクトの種類,オブジェクト名,ナビゲーションでの選択 引数 定数 説明 オブジェクトの種類 acTable テーブルを対象とする acQuery…

Docmdオブジェクト Open系メソッド

【書式】 Docmd.OpenTable テーブル名,ビュー,データモード OpenTableメソッドの引数 - ray88’s diary Docmd.OpenQuery クエリ名,ビュー,データモード OpenQueryメソッドの引数 - ray88’s diary Docmd.OpenForm フォーム名,ビュー,フィルタ名,フィルタ条件式…

Access VBA データベースのバックアップ

■基本的にはバックアップファイルをコピーすればよいだけ。 ■Accessのデータベースのバックアップ機能を使用すると自動でファイル名に日付 を付けてくれる。それだけの違い。

Access VBA フィールド名を指定する際の書式と別名カラムの作成方法

■フィールド名を指定する際の書式 [テーブル名.フィールド名] (例)[MT_商品.単価] (例)[T_注文履歴.個数] ■フィールド名に別名をつける(例)小計: [MT_商品.単価]*[T_注文履歴.個数]

Access VBA 効率よくDBに入力する(手入力)

■サブデータシートを使用する(リレーションシップが組まれているテーブル間) 参考:サブデータシート - もう一度学ぶMS-Access ■ルックアップを使用する 参考:ルックアップウィザードを使ってリストを設定(値を別のテーブルから取得) ・ルックアップはA…

Access VBA アプリ開発手順

Accessの開発はしばらくやらないと、まるっと記憶から基礎的なことが飛んでしまうので、思い起こしようの覚書 ■アプリ作成時の手順 ①データベース用のaccdbファイルとアプリ用のaccdbファイルを2つ作成する。 (しばらく開発してないとdbファイルとapp用の…

Access VBA オートナンバー型のリレーションシップ設定について

■オートナンバー型フィールドのデータを格納する部分の正体は、長整数型の数値型 フィールドと同じため、オートナンバー型フィールドは長整数型のフィールドと リレーションシップを設定できる。※リレーションシップは両フィールドのデータ型が同じでないと…

Access VBA 目次

■基本文法 CASE句 ■Accessお役立ちサイト hatena chips■DB・アプリ設計 Access VBA アプリ開発手順 Access VBA オートナンバー型のリレーションシップ設定について Access VBA フィールド名を指定する際の書式と別名カラムの作成方法 Access VBA データベー…

VBA デバッグ

■ステップイン・ステップオーバー・ステップアウトの意味など ※「カーソル行の前まで実行」はVBEのデバッグ→「カーソル行の前まで実行」を選択