■サブフォームに表示されたデータシートをCSV出力ボタンを押してCSV出力する
Private Sub btnCsv_Click() funcOutputCSV 日付sub, "Q日にち検索", "サブフォーム出力" End Sub
Function funcOutputCSV(subForm As subForm, strQueryName As String, strFileName As String) If subForm.Form.Recordset.RecordCount = 0 Then MsgBox "検索結果が0件のためCSVを出力できません", vbOKOnly + vbCritical Else Dim folderPath As String 'フォルダ選択ダイアログを表示 With Application.FileDialog(msoFileDialogFolderPicker) If .Show = 0 Then MsgBox "CSV出力をキャンセルしました", vbOKOnly + vbExclamation Exit Function End If '選択したフォルダパスを取得 folderPath = .SelectedItems(1) End With 'CSVファイル出力 DoCmd.TransferText acExportDelim, , strQueryName, folderPath & "\" & strFileName & "_" & Format(Now(), "yyyyMMssHHmmaa") & ".csv", True End If End Function
【参考】
・TransferText メソッド
Docmd.TransferText 変換種類,定義名,テーブル名,ファイル名,フィールド名設定
・ TransferSpreadsheetメソッド
Docmd.TransferSpreadsheet 変換種類,ファイル形式,テーブル名,ファイル名,
フィールド名設定,Range