อยากทราบวิธี Backup File ที่เป็นฐานข้อมูลของ Access
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 447   6
URL.หัวข้อ / URL
อยากทราบวิธี Backup File ที่เป็นฐานข้อมูลของ Access

เรียนอาจารย์ครับ คือผมต้องการ Backup File ที่เป็นฐานข้อมูลของ Access ครับ โดยผมได้แยกตัว Table เป็น 1 File และแยกตัว Form Query Report ออกเป็นอีก 1 File โดยใช้วิธีการ Link Table ครับ แต่ผมไม่สามารถสร้าง command button มาเพื่อ Copy หรือ Save File ที่เป็นTable ได้ครับ รบกวนอาจารย์ช่วยชี้แนะด้วยครับ ขอบคุณครับ

6 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R04869
นี่คือฟังก์ชันสำหรับ copy ไฟล์ครับ

Function fCopyFile(strDest As String, strSrc As String)
Dim fs As Object, strTime As String
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile strDest, strSrc, True
End Function

ซึ่งจะสามารถ copy ไฟล์ที่กำลังเปิดอยู่ได้ด้วย และถ้าไฟล์เป้าหมายมีชื่อซ้ำกัน มันจะเขียนทับไปให้เลย
2 @R04870
เรียน อจ.สุภาพ ตามตัวอย่างcode นี้หมายความว่าถ้าผมนำไปไว้ใน command bottum เพื่อใช้สำหรัยสั่ง backup file ที่เรากำลังเปิดใช้ MDB นั้นๆอยู่จะbackup ได้ทันที โดยที่เราไม่ต้อง exit หรือ close และจากตัวอย่างของ อจ.สมมติว่าเราเปิดใช้ abc.mdb ในcode ที่ให้มาจะต้องใส่ชื่อ abc.mdb ตรงไหนครับ
3 @R04871
เนื่องจากไฟล์ที่ต้องการจะอยู่ที่ Back End ซึ่งเก็บตารางต่างๆ ไว้ ก็ให้ระบุลงไปในโค้ดอย่างนี้ครับ

Private Sub Command0_Click()
fCopyFile "c:\backup\ชื่อไฟล์ใหม่ที่จะเก็บไว้.mdb","c:\myfile\ชื่อไฟล์ที่จะBackUp.mdb"
End Sub
4 @R04927
เรียน อจ.สุภาพ จากความเห็นที่ 2 และ 3 ผมขอความกระจ่างเพิ่มเติม หน่อยครับ คือเมื่อผมสร้าง command bottom แล้ว และผมจะสร้าง even ตรง on click ใช่หรือไม่ครับ และผมลองทำแล้ว มันไม่รู้จัก fcopyFile อยากจะเรียนถามว่าจะต้องนำความคิดเห็นที่ 1 มาเกี่ยวข้องด้วยหรือไม่ครับ
5 @R04928
ต้องในฟังก์ชัน fCopyFile() ข้างบนไปใส่ใน Module ด้วยครับ
6 @R05012
ลองทำ เล่น ๆ ครับ อาจจะไม่ค่อยกระชับนัก เพราะทำตอบใช้เป็นใหม่ ๆ เป็น module เก็บไว้ใน module แล้วเวลาจะ backup จะต้องใช้ event OnClick นะครับ
แต่มีข้อแม้ว่าจะต้องมี แฟ้ม PKZip.exe อยู่ด้วยนะครับ ปรับแต่งได้ตามต้องการครับ ว่าจะให้อยู่ที่ไหน หรือ backup ไปไว้ที่ไหน ผมไม่ได้ใส่เป็นตัวแปรไว้
---------------------------------------------------------------------
Option Compare Database
Option Explicit

Public Sub BackUpA()

Dim strYYMMDD As String
Dim BtnResp As Integer
strYYMMDD = Format(Date, "bbmmdd")
BtnResp = MsgBox("ใส่ Disk ที่ Format แล้ว ลงใน Drive A: แล้ว Click Yes" & _
"@ถ้าต้องการ Format แผ่นก่อน Click No" & _
"@ต้องการยกเลิก Click Cancel", vbInformation + vbYesNoCancel, "สำรองข้อมูล")
If BtnResp = vbYes Then
Call Shell("C:\CSMBSCer\PKZIP.EXE -& A:\Bk" & strYYMMDD & " C:\CSMBSCer\*.udc", 1)
MsgBox "สำรองข้อมูลเสร็จเรียบร้อยแล้วครับ", vbInformation, "สำรองข้อมูล"
Else
If BtnResp = vbNo Then
Call Shell("C:\CSMBSCer\PKZIP.EXE -&fv A:\Bk" & strYYMMDD & " C:\CSMBSCer\*.udc", 1)
MsgBox "สำรองข้อมูลเสร็จเรียบร้อยแล้วครับ", vbInformation, "สำรองข้อมูล"
End If
End If

End Sub

Public Sub BackUpC()

Dim strYYMMDD As String
strYYMMDD = Format(Date, "bbmmdd")
Call Shell("C:\CSMBSCer\PKZIP.EXE C:\CSMBSCer\Backup\Bk" & strYYMMDD & " C:\CSMBSCer\*.udc", 0)
MsgBox "สำรองข้อมูลเสร็จเรียบร้อยแล้วครับ", vbInformation, "สำรองข้อมูล"

End Sub
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0492s