จากโค้ดนี้ เขาส่งตารางเป้าหมายออกเป็นไฟล์ mdb
Private Sub Command0_Click()
'************ ส่วนที่ 1 การเรียกหน้าต่าง Dialog เพื่อเลือกพาธ และตั้งชื่อเซฟไฟล์เป้าหมาย*****************
Const msoFileDialogFilePicker = 3
Const msoFileDialogViewDetails = 2
Dim fd As Object
Dim varItems As Variant
Dim flPath As Variant
Dim LFilename As String
Set fd = Application.FileDialog(msoFileDialogViewDetails)
With fd
.Title = "Save As"
.AllowMultiSelect = False
.InitialView = msoFileDialogViewDetails
.InitialFileName = "*.mdb"
End With
If fd.Show = True Then
For Each varItems In fd.SelectedItems
flPath = varItems
Next
End If
LFilename = flPath
'*************ส่วนที่ 2 การสร้างไฟล์ MS Access ใหม่******************
If LFilename & "" <> "" Then
If Dir(LFilename) = "" Then
Dim ws As Workspace
Dim db As DAO.Database
Set ws = DBEngine.Workspaces(0)
Set db = ws.CreateDatabase(LFilename, dbLangGeneral)
db.Close
Set db = Nothing
End If
'***********ส่วนที่ 3 การส่งออกข้อมูลไปยังไฟล์เป้าหมาย********************
DoCmd.TransferDatabase acExport, "Microsoft Access", LFilename, acTable, "Q1", "Table1", False
End If
End Sub
ผมมีตารางชื่อ xFake อยากส่งออกไปไว้ d:\ชื่อตารางเดิมแต่นามสกุลเป็น .xls เอ็กเซลปี 2003 ครับ ทับไฟล์เก่าได้เลยถ้ามีอยู่แล้ว ตอนนี้ผมลองใส่ 'เพื่อไม่ต้อง dim แต่ก็เจอบักแถมเหลืองไม่ผ่านสักทีครับ
ขอบคุณครับ