Access (VBA)

Access VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Access 2007)
アクセスクエリを名前をつけて保存方法
投稿日時: 17/10/17 14:19:27
投稿者: 井上 聡
メールを送信

コマンドボタンを押すとクエリをエクスポートしてダイアログを開いて名前を付けて保存するVBAを作成したいのです。コマンドボタンが2つあります。1つ目の名前はエクスポートでは成功しましたが、2つ目の名前はエクスポート2ではアクセスが固まります。それぞれのボタンで名前をつけて保存がしたいです。
Public Sub エクスポート2_Click()
On Error GoTo エクスポート2_Click_Err
  Dim sFina As String
      
     sFina = SaveFile_FileDialog
      
     If sFina <> "" Then
         DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Q_入出庫データ_エクスポート", sFina
     End If
  
 
エクスポート2_Click_Exit:
    Exit Sub
 
エクスポート2_Click_Err:
    MsgBox (Err.Number & "," & Err.Description)
    Resume エクスポート2_Click_Exit
End Sub
以下モジュール画面です。
Public Function SaveFile_FileDialog() As String
     Dim oexcel As New Excel.Application
     Dim sfile As String
      
     sfile = oexcel.GetSaveAsFilename( _
         FileFilter:="Excelファイル,*.xls,全てのファイル,*.*", _
         FilterIndex:=1, _
         InitialFileName:="入出庫データ.xls", _
         Title:="名前を付けて保存")
 
     If sfile = "False" Then
         SaveFile_FileDialog = ""
     Else
         SaveFile_FileDialog = sfile
     End If
      
     Set oexcel = Nothing
      
  End Function

回答
投稿日時: 17/10/17 18:26:07
投稿者: Suzu

こんにちは。
 
ふたつ目というのは、
「エクスポート2」をクリックし、1回目保存
もう一度「エクスポート2」をクリックし、2回目保存 の二つ目という事でしょうか。
 
ファイル名が同一で、Accessのウィンドの後ろに「上書きしますか」旨の
メッセージが表示されているのではありませんか?
 
 
それと、質問とは関係ありませんが、
Access97までは、ファイルダイアログがAccessの標準では使えなかったので
Excelのダイアログを使う事をよくやりましたが、Access2007であればダイアログが準備されていますので
Excelのダイアログを使わなくとも簡単に使用できる様になっています。
 
Access ファイルダイアログ で WEB検索をしてみてください。

トピックに返信