ray88’s diary

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

2020-11-01から1ヶ月間の記事一覧

AccessVBA ダイアログを表示してファイルパスまたはフォルダパスを取得

■ファイルパスを取得 Function fncGetFilePath() As String '--------------------------------------------------------------------------------- '機能:ファイル選択ダイアログを表示し、選択したファイルパスを返す '戻り値:ファイルパス '-----------…

TEMP 覚書

Dim strRes As String If IsNull(Me.Controls("txb_FolderPath")) Then strRes = MsgBox("関連書類格納フォルダはなしでよろしいですか?", vbYesNo, "関連書類有無フォルダ有無確認") End If If strRes = vbNo Then MsgBox "関連書類格納フォルダを選択後再…

AccessVBA テキストボックスやコンボボックスを順番に飛ばさず入力しているかチェックする

■必須項目ではないが、順番に飛ばさず入力する必要のあるものの空欄チェック方法 ※このページの一番下に部品化したコードあり Sub chkSkipBlank() '------------------------------------------------------------- '機能:必須項目ではないが、途中を飛ばさ…

コンボボックスで選んだ値に紐づいてテキストボックスの別カラムの値を表示させる方法②

■VBAで実装する方法 Private Sub Form_Load() '----------------------------------------------- 'フォーム読み込時にコンボボックスのソースを設定 '----------------------------------------------- With Me.cmb_Test 'ソースのタイプを設定 .RowSourceT…

Access VBA コントロールの値をまとめてクリアする・値を入力する

Sub FormTest() Dim c As Object Forms("Fフォーム").txt3.Value = "標準モジュール" MsgBox "標準モジュールから参照" For Each c In Forms("Fフォーム").Controls If c.ControlType = acTextBox Then c.Value = "" End If Next End Sub ■以下の様にプロパ…

UiPath NULL値の代入

■Uipathのテーブル等で取得した値を保持する際、値がなかった場合の行に自動で空の文字列を挿入してしまうことがある。 テーブルを最終的にExcelに貼り付ける等の処理を行う場合、セルに書式設定がされていると空の文字列が悪さをして意図しない値が反映され…

ADO レコードの追加 AddNewメソッド

【AddNewメソッドの引数として、フィールドリスト、値リストを渡す】 RS.AddNew フィールドリスト,値リスト ■フィールドリスト、値リストを作成する方法 ・リストに使用する変数をVariant型で宣言する ・Array関数でリストになる配列を変数に格納する Dim Li…

ADO レコードの更新・Updateメソッド

【Updateメソッドの引数としてフィールド名、値を渡す】 RS.Update フィールド1,値1 RS.Update フィールド2,値2 (例) Sub Test1() Dim CN As ADODB.Connection Dim RS As ADODB.Recordset Dim SQL As String Set CN = CurrentProject.Connection Set RS = …

ADO Recordsetオブジェクトにレコードセットを取得する

■方法①:RecordsetオブジェクトのOpenメソッドで開く 【書式】 RS.Open ソース,CN,カーソルタイプ,ロックタイプ ※変数宣言の際に以下の様に記述するとインスタンス生成を同時に行える Dim RS As New ADODB.Recordset 引数 説明 ソース テーブル名、クエリ名…

ADO Recordsetオブジェクトの主なメソッド

メソッド 説明 Open レコードセットを開く Close レコードセットを閉じる Move カレントレコードを移動する MoveFirst 先頭レコードに移動する MoveLast 最終レコードに移動する MoveNext 次のレコードに移動する MovePrevious 前のレコードに移動する Move…

ExcelVBA シートの保護と編集可能セル範囲の設定(セルごとの保護)

Sub 編集可能領域の設定() Worksheets("Sheet1").Protection.AllowEditRanges.Add _ Title:="許可範囲1", _ Range:=Range("A4:G4"), Password:="editOK" End Sub Sub ワークシートに保護を設定() Worksheets("Sheet1").Protect _ Password:="AllowEdit" End …

ADO Recordsetオブジェクトの主なプロパティ

■主なプロパティその① プロパティ 説明 BOF カレントレコードが先頭レコードの前にあるときTrueを、それ以外の時はFalseを返す EOF カレントレコードが最終レコードの後にあるときTrueを、それ以外の時はFalseを返す RecordCount レコード件数を返す ■Cursor…

ADO データベースへの接続(Connection オブジェクト)

■ConnectionオブジェクトはDBへの接続を保持するオブジェクトです。 Connectionオブジェクトの主なプロパティ プロパティ 説明 ConnectionString データベースへの接続情報を返す State データベースへの接続状態を返す Connectionオブジェクトの主なメソッ…

ADO 主なオブジェクト

■ADOはAccess以外の他のデータベースを共通の方法で操作できる(DAOはAccess以外のDBは操作できない) ■DAOのようにテーブルやクエリを作成する機能はなく、ADOXというADOの拡張機能を使用する必要がある。 ■DAOは参照設定不要だがADOは参照設定が必要。 「Mi…

AccessVBA コントロールの値をまとめて確認する

■以下はテキストボックスの値をまとめて確認するコード ※呼び出し元コード Sub test1() fncCheckBlank ("F社員名簿") End Sub ※呼び出し先コード Function fncCheckBlank(strFormName) '------------------------- '機能:フォーム内のテキストボックスの値…

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 水平位置,垂直位置,ウィンドウ幅,ウィンドウ高さ ■引数の単位に…