這個例子將允許您使用FileDialog的另存爲對象:
要使用此功能,您必須添加一個引用了「微軟辦公XX.0對象庫」。添加一個新的模塊並粘貼以下功能:
Public Sub exportQuery(exportSQL As String)
Dim db As DAO.Database, qd As DAO.QueryDef
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogSaveAs)
Set db = CurrentDb
'Check to see if querydef exists
For i = 0 To (db.QueryDefs.Count - 1)
If db.QueryDefs(i).Name = "tmpExport" Then
db.QueryDefs.Delete ("tmpExport")
Exit For
End If
Next i
Set qd = db.CreateQueryDef("tmpExport", exportSQL)
'Set intial filename
fd.InitialFileName = "export_" & Format(Date, "mmddyyy") & ".csv"
If fd.show = True Then
If Format(fd.SelectedItems(1)) <> vbNullString Then
DoCmd.TransferText acExportDelim, , "tmpExport", fd.SelectedItems(1), False
End If
End If
'Cleanup
db.QueryDefs.Delete "tmpExport"
db.Close
Set db = Nothing
Set qd = Nothing
Set fd = Nothing
End Sub
現在你的代碼中要啓動導出,使用: 呼叫exportQuery(「SELECT * FROM ...」)
我建議爲你的SQL查詢定義一個字符串變量。
Public Sub someButton_Click()
Dim queryStr as String
'Store Query Here:
queryStr = "SELECT * FROM..."
Call exportQuery(queryStr)
End Sub
謝謝,這比我有 - 但是,我在用戶通常會用來執行此操作的Windows資源管理器框後。 – user1844098
啊,那麼你想使用FileDialog - 看看這裏:http://support.microsoft.com/kb/824272 – sgeddes
明白了!非常感謝! – user1844098