2020-01-01から1ヶ月間の記事一覧
■サブフォームに表示されたデータシートをCSV出力ボタンを押してCSV出力する Private Sub btnCsv_Click() funcOutputCSV 日付sub, "Q日にち検索", "サブフォーム出力" End Sub Function funcOutputCSV(subForm As subForm, strQueryName As String, strFileN…
Sub test1() Dim strPath As String Dim FSO As Object 'ファイルシステムオブジェクトをインスタンス化 Set FSO = CreateObject("Scripting.FilesystemObject") '生成するファイルのパスを指定 strPath = "C:\Users\デスクトップ\test.csv" 'ファイルを生成…
■UTF-8形式のままテーブルインポートしようとすると文字化けするので、ANSI形式で保存しなおす。ついでに、データの各項目にダブルクォーテーションもつける・編集前UTF-8形式のCSVファイル ・編集後UTF-8形式のCSVファイル ・インポート前テーブル ・インポ…
■罫線の設定 ・LineStyleプロパティ:罫線の種類(必須) ・Weightプロパティ:罫線の太さ(省略可) ・ColorIndexプロパティ:罫線の色(省略可) ■格子罫線を引く object.Borders.LineStyle = xlContinous (例) Sheet1のセル範囲B2:D5に格子罫線を引く Sub…
■ダブルクォーテーションなしのCSVにダブルクォーテーションを付けて加工する。 書き出す際にOpenメソッドのOutPutモードで書き出そうとすると ダブルクォーテーションが2重についてしまい失敗する(””項目”” の様になる) 読み取りをOpenメソッドのInputモ…
■ADODBを事前バインディングする際は参照設定の 「Microsoft ActiveX Data Objects 6.1 Library」にチェックを入れる変数の宣言の仕方 Dim CN As ADODB.Connection Dim RS As ADODB.Recordset Set CN = New ADODB.Connection Set RS = New ADODB.Recordset ■…
関連記事:レコードセットでなく、SQLで挿入する方法はこちら↓ ray88.hatenablog.com ■ 以下のようなパラメータクエリ「Q_インサート」を作成したとします。 パラメータはフィールド部分の 担当者:[Offfiser] と 抽出条件部分の >=[price] の部分 このクエリ…
■Dir関数 ファイルの存在確認。パスを含まないファイル名を返す。(つまり戻り値String型) Dir("ファイルパス") ・引数に指定したファイル名が存在しないと空欄を返す。 ・引数にワイルドカード「*」を指定した場合はいかのような動きをする。 ①最初にDir関…
※こちらの方法もあり↓こちらの方が使い勝手良いかも。。。 Excel VBA ファイルが既に開かれているかどうか調べる その② - ray88’s diary ■使用にあたっての注意事項 たとえば、各部署ごとにフォルダが分かれていて、各同じファイル名のファイルが格納されて…
関連記事:SQLではなく、レコードセットで挿入したいときはこちら↓ ray88.hatenablog.com■パラメータクエリの結果をテーブルにインサートするときのコード ※通常、パラメータクエリを定義のみだと先にパラメータを指定し、 QueryDefsでクエリをしていするが…
■ただ単に、複雑なことなにもせず、指定したSQL文を実行したいときのコード Sub testCommandDelete() Dim strSQL As String strSQL = "DELETE FROM T_テストテーブル" DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True End Sub
■列の最終行にSUM関数を挿入する (例)B列に入力された数値の合計を求める Sub test() Range("B2").End(xlDown).Offset(1, 0) = _ "=SUM(" & Range(Range("B2"), Range("B2").End(xlDown)).Address(False, False) & ")" End Sub
■テーブル定義では文字型のカラムでyymmだけど、抽出条件で一か月後とかなってた時に 一旦数値型に変換するときに使った Sub testDayChange() Dim strDay As String Dim dteDay As Date 'もし取得した値がyyyymmの場合は..... strDay = "201905" '"0"を足し…
① Openメソッドで読み込む方法 ② ADODBでレコードセットに格納して読み込む方法 '-------------------------------------------------------------------①まずはOPENメソッドでデータを読込む方法 Sub testReadText1() Dim buf As String Dim dataArray As V…
※FileSystemObjectを事前バインディングする際は参照設定の 「Microsoft Scripting Runtime」にチェックを入れる Sub testGetFileInfo() Dim TargetPath As String Dim fileName As String Dim strExtension As String '-----------------------------------…
■まずは、単純に取得する方法 Sub testGetFileInfo() 'フルパスからファイル名を取得 strFileName = Dir(strTempFilePath) 'フルパスからフォルダパスを取得 strFolderPath = Replace(strTempFilePath, strFileName, "") End Sub ■FileSystemObjectを使用し…
Sub testsetRecordSet2() Dim targetPath As String Dim targetPath2 As String Dim strFileName As String Dim targetFolderPath As String Dim strSQL As String Dim strSQL2 As String Dim intIndex As Long Dim dbFileName As String Dim strName As Str…
■キーワード:レコードセット Recordset 数 件数 -1 RecordCount レコードセットの件数を取得する:RS.RecordCount ただし、レコードセットを開く際、カーソルタイプがadOpenKeyset(定数1)か adOpenStatic(定数3)になっていないと取得できない-1が返…
Sub testsetRecordSet2() Dim targetPath As String Dim targetPath2 As String Dim strFileName As String Dim targetFolderPath As String Dim strSQL As String Dim strSQL2 As String Dim intIndex As Long Dim dbFileName As String Dim strName As Str…
■あとで見られるように貼り付け https://ateitexe.com/vba-ado-not-reference/■遅延バインディングした場合、定数の値(数字)で指定する Open メソッド (ADO) ■SQLの結果をテーブル格納する Windows 2000 - Development Guide for Business Applications
Sub AddressMasterChange() Dim strKenallCsvpath As String Dim strHeaderFilePath As String 'マスタメンテナンス画面よりCSVファイルパス取得 strKenallCsvpath = "C:\デスクトップ\郵便csv\KEN_ALL.CSV" '住所マスタの全レコード削除 Call CommandDelete…
■開発していると参照設定したくても、納品先のお客様の使用環境が どのバージョンを使用しているか不明のため、コード規約で参照設定が 禁止されているケースが多いです。なので、遅延バインディングします。 AccessからExcelを遅延バインディングしてWorkbo…
■以下のような検索フォームで検索する際、サブフォームの元となるクエリの設定の 仕方 基本的な処理を覚書 ■IDの抽出条件(オートナンバー型ですが、以下の式で正常に動作) Like IIf(IsNull([Forms]![日にち検索]![ID]),"*",[Forms]![日にち検索]![ID]) ■タ…
■同じ値でオートフィル(関数のオーフィルなどもこの方法でOK) ************************************************************************* (例)セルB1に1を入力し、B10まで1をオートフィルで入力 Sub test1() Range("B1").Value = 1 Range("B1").AutoFil…
①特定のセルから見てデータの入っている一番下の行を取得 (途中う空白有の場合は使えない) ■ 最終行 = Range("B2").End.End(xlDown).Row ②エクセル全体の最終行を取得し、そこから順に上を見ていき、指定した列の データのある行を取得(途中空白ありもOK…
・例として、以下フォームのサブフォームをCSV出力します。 ・サブフォーム内の項目に開始日と終了日の項目はyyyy/MM/ddの形式ですが、 CSV出力すると勝手にyyyy/MM/dd HHmm の形式に変換されてしまいます。 ・CSV出力の際の元となるクエリ(サブフォームの…
・CurrentProject.Path 現在のデータベースファイルが格納されているフォルダを参照 ・CurrentProject.Name 現在のデータベースファイルのファイル名を参照 ・CurrentProject.FullName 現在のデータベースファイルのフルパスを参照
サブフォームに表示されるデータシートの項目の並び順を後から変更したくなった場合 ①サブフォームをデザインビューで開いてプロパティシートの赤枠の箇所が「はい」 になっているか確認する。(ここが「いいえ」になっていると編集できない。ここが「はい」…
検索フォームにコンボボックスを追加 選択肢を全て、チェックあり、チェックなしの3択にする。 全てを選択したときにYesNo型のチェックありなしのデータ全てを抽出 チェックありを選択でチェックありのみを抽出 チェックなしを選択でチェックなしのみを抽出…