Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Access 2016)
出力先の日付の表示形式が変更される
投稿日時: 20/04/30 10:59:54
投稿者: aomi

クエリのデータをテンプレートに出力したのですが、日付の表示形式がmm/dd/yyyyからyyyy/mm/dddになってしまいます。
 
クエリではmm/dd/yyyyとなっており、エクセル側もユーザー定義にてmm/dd/yyyyにしております。
 
どうやったら、mm/dd/yyyy形式で出力されるのでしょうか?
 
 
Option Compare Database
 
Private Sub NewTXexpo_DblClick(Cancel As Integer)
 
On Error GoTo Err_FileDialog_Click
    Dim strsql As String
    Dim strTemplate As String
    Dim strFileName As String
    Dim ExpFileName As String
    Dim xlapp As Object
    Dim myCn As New ADODB.Connection
    Dim myRs As New ADODB.Recordset
 
    'ファイル名作成
    ExpFileName = "VA01_KE_OCR_Shortterm" & "_" & Format(Date, "yyyymmdd")
    strFileName = GetFileName(False, "MicrosoftExcel ブック (*.xlsx)|*.xlsx", "", ExpFileName & ".xlsx")
     
    'EXCELアプリケーションを起動
    Set xlapp = CreateObject("Excel.Application")
     
    'セットする過程が見えないよう一旦不可視
    xlapp.Visible = False
     
    Set myCn = CurrentProject.Connection
     
    strsql = "Q_Shortterm2Expo"
     
    'レコードセットオープン
    myRs.Open strsql, myCn, adOpenForwardOnly, adLockReadOnly
     
    With xlapp
        'テンプレートを開く
        strTemplate = Application.CurrentProject.Path & "\" & "VA01_KE_OCR_Shortterm.xlsx"
         
        'テンプレートファイルが存在しないときはエラー
        If Dir(strTemplate) = "" Then
            MsgBox "テンプレートファイルを確認してください。", vbOKOnly + vbCritical, "エラー"
            .Visible = True
            .Quit
            Exit Sub
        End If
         
        'テンプレートファイルオープン
        .Workbooks.Open strTemplate
     
        '結果値出力処理(1行目にヘッダーを表示しているので、2行目1列目からセット
        .Cells(2, 1).CopyFromRecordset myRs
         
        '完了したら保存
        If Len(strFileName) = 0 Then
            .activeworkbook.Close SaveChanges:=False
            xlapp.Quit
            MsgBox "処理を中止します。", vbOKOnly + vbInformation
            Exit Sub
        Else
            .activeworkbook.SaveAs FileName:=strFileName
                         
        End If
         
        MsgBox "出力しました。", vbOKOnly + vbInformation
     
    End With
     
    Set myRs = Nothing: Close
    Set myCn = Nothing: Close
     
    'Excelを終了します
     xlapp.Quit
    Exit Sub
 
Exit_FileDialog_Click:
    Exit Sub
     
Err_FileDialog_Click:
    MsgBox "予期せぬエラーが発生しました" & Chr(13) & _
            "エラーナンバー:" & Err.Number & Chr(13) & _
            "エラー内容:" & Err.Description, vbOKOnly
    End
     
    Resume Exit_FileDialog_Click
 
End Sub

回答
投稿日時: 20/04/30 14:12:22
投稿者: WinArrow
投稿者のウェブサイトに移動

>クエリではmm/dd/yyyyとなっており
 
クエリのデザインには、日付形式を指定するとところが見当たりませんが、
どのようにして指定しているのでしょう?

投稿日時: 20/05/01 10:08:52
投稿者: aomi

WinArrowさん
テーブルの書式設定でmm/dd/yyyyにしていましたが、クエリでFormat関数で変換しておりませんでした。
テーブルで書式設定しただけではダメなんですね。
勉強になりました。