Private Sub cmdエクスポート_Click()
On Error GoTo cmdエクスポート_Click_Err

    'カレントデータベースと同じフォルダに書き出し
    DoCmd.TransferText acExportDelim, "", "qryAprint個人顧客", CurrentProject.Path & "\qryAprint個人顧客.csv", False, ""
    Beep
    MsgBox "エクスポートを終了しました", vbInformation, "エクスポート"


cmdエクスポート_Click_Exit:
    Exit Sub

cmdエクスポート_Click_Err:
    MsgBox Error$
    Resume cmdエクスポート_Click_Exit

End Sub

カレントデータベースと同じフォルダに書き出ししたい場合は、CurrentProject.Path を指定しないと、
「ツール」-「オプション」-「全般」の『既定のデータベースフォルダ』に書き出される

第5引数 HasFieldNames  は、テキスト ファイルの 1 行目をフィールド名として使用する場合は、True (–1) を使います。テキスト ファイルの 1 行目をデータとして処理する場合は、False (0) を使います。この引数を指定しないと、False (既定値) が使われます。 


一つのフォームから、法人用、個人用、その他など、クエリを入れ替えてCSVで書き出す方法
DoCmd.OpenForm のOpenArgsプロパティを利用して Select Case ステートメントで分岐する

'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
'   フォームを開く
'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

Private Sub cmdAprint_Click()
On Error GoTo Err_cmdAprint_Click

    Dim stDocName As String
    Dim strRecordSource As String

    stDocName = "frmAprint"
    strRecordSource = "qryAprint個人顧客"
    
    DoCmd.OpenForm stDocName, , , , , , "個人"
    Forms(stDocName).RecordSource = strRecordSource
    Forms(stDocName).lblTitle.Caption = "個人顧客"

Exit_cmdAprint_Click:
    Exit Sub

Err_cmdAprint_Click:
    MsgBox Err.Description
    Resume Exit_cmdAprint_Click
    
End Sub


'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
'   CSVファイルにエクスポートします
'-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

Private Sub cmdエクスポート_Click()
On Error GoTo cmdエクスポート_Click_Err

    Dim strCSV As String
    Dim strQuery As String
    
    strTitle = Me.lblTitle.Caption
    
    strCSV = CurrentProject.Path & "\" & strTitle & ".csv"

    Select Case Me.OpenArgs
    
        Case "個人"
            strQuery = "qryAprint個人顧客"
    
        Case "法人"
            strQuery = "qryAprint法人顧客"
        
        Case "その他"
            strQuery = "qryAprint顧客外年賀状データ"
    
    End Select

    'カレントデータベースと同じフォルダに書き出し
    DoCmd.TransferText acExportDelim, "", strQuery, strCSV, False, ""
    Beep
    MsgBox "エクスポートを終了しました", vbInformation, "エクスポート"


cmdエクスポート_Click_Exit:
    Exit Sub

cmdエクスポート_Click_Err:
    MsgBox Error$
    Resume cmdエクスポート_Click_Exit

End Sub

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ