กระทู้เก่าบอร์ด อ.Yeadram
5,941 12
URL.หัวข้อ /
URL
อยากทราบว่า Backup ไฟล์ยังไงคะ
คืออยากถามหน่อยนะคะว่า โค้ดในการ Backup ไฟล์ใน Access ใช้โค้ดว่าอะไรเหรอคะ ขอบคุณมากคะ
12 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R01214
คือว่าทำแล้วมันเออเร่อนะคะ รบกวนทีนะคะฃ
ขอบคุณมากคะ
ขอบคุณมากคะ
3 @R01215
คุณทำอะไรบ้าง แล้ว error ตรงไหน รหัสอะไร ข้อความว่าอย่างไร บอกรายละเอียดมาด้วย
4 @R01216
ขอร่วมแสดงความเห็นด้วยคนนะครับ
คือว่าผมยังนึกไม่ออกว่าคุณผึ้ง ต้องการโค้ดการ Backup ไฟล์ใน Access ไว้ใช้ในเหตุการอะไร หากเพียแค่ Backup ไฟล์ Access ที่เราสร้างไว้และมีข้อมูลแล้ว ที่ผมใช้อยู่ก็เพียง Copy ไฟล์ของเราไปไว้ที่โฟลเดอร์อื่นเป็นระยะๆ ก็เป็นการ Backup ไฟล์ไปในตัวอยู่แล้วนี่ครับ
คือว่าผมยังนึกไม่ออกว่าคุณผึ้ง ต้องการโค้ดการ Backup ไฟล์ใน Access ไว้ใช้ในเหตุการอะไร หากเพียแค่ Backup ไฟล์ Access ที่เราสร้างไว้และมีข้อมูลแล้ว ที่ผมใช้อยู่ก็เพียง Copy ไฟล์ของเราไปไว้ที่โฟลเดอร์อื่นเป็นระยะๆ ก็เป็นการ Backup ไฟล์ไปในตัวอยู่แล้วนี่ครับ
5 @R01217
วิธีการหนึ่งที่ผมเคยสำรองข้อมูลคือ ให้โปรแกรมสร้างfolder และให้คัดลอกข้อมูลไปเก็บอีกที่หนึ่งดังนี้
สมมติว่าผมสำรอง c:\occheชื่อ dataocc.mdb ไปเก็บที่ c:\backupocche
1.คัดลอกfunction สำรอง นี้เก็บที่โมดูล
Function fCopy(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
2.สร้างปุ่มคำสั่งบนฟอร์ม
2.1ให้โปรแกรมสร้างFolder ก่อน สมมติให้ชื่อ backupocche
เก็บไว้ที่"C:\backupocche"
Private Sub Command0_Click()
Dim fold
Set fold = CreateObject("Scripting.FileSystemObject")
newFDR = "C:\backupocche"
If Not fold.FolderExists(newFDR) Then
fold.CreateFolder (newFDR)
End If
If MsgBox("ต้องการสำรองข้อมูล...", vbQuestion + vbOKCancel, "แจ้ง") = vbOK Then
fCopy "C:\ocche\dataocc.mdb", "C:\backupocche\dataocc.mdb"
MsgBox "สำรองเรียบร้อยแล้วเก็บอยู่ที่ C:\backupocche\dataocc.mdb", vbOKOnly, "แจ้ง"
End If
End Sub
บรรทัดนี้บอกตำแหน่งสำรองตัวแรกคือแหล่งข้อมูล ตัวหลังคือแหล่งที่นำไปเก็บ
fCopy "C:\ocche\dataocc.mdb", "C:\backupocche\dataocc.mdb"
ไม่ทราบว่าต้องการแบบนี้เปล่าครับ
สมมติว่าผมสำรอง c:\occheชื่อ dataocc.mdb ไปเก็บที่ c:\backupocche
1.คัดลอกfunction สำรอง นี้เก็บที่โมดูล
Function fCopy(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
2.สร้างปุ่มคำสั่งบนฟอร์ม
2.1ให้โปรแกรมสร้างFolder ก่อน สมมติให้ชื่อ backupocche
เก็บไว้ที่"C:\backupocche"
Private Sub Command0_Click()
Dim fold
Set fold = CreateObject("Scripting.FileSystemObject")
newFDR = "C:\backupocche"
If Not fold.FolderExists(newFDR) Then
fold.CreateFolder (newFDR)
End If
If MsgBox("ต้องการสำรองข้อมูล...", vbQuestion + vbOKCancel, "แจ้ง") = vbOK Then
fCopy "C:\ocche\dataocc.mdb", "C:\backupocche\dataocc.mdb"
MsgBox "สำรองเรียบร้อยแล้วเก็บอยู่ที่ C:\backupocche\dataocc.mdb", vbOKOnly, "แจ้ง"
End If
End Sub
บรรทัดนี้บอกตำแหน่งสำรองตัวแรกคือแหล่งข้อมูล ตัวหลังคือแหล่งที่นำไปเก็บ
fCopy "C:\ocche\dataocc.mdb", "C:\backupocche\dataocc.mdb"
ไม่ทราบว่าต้องการแบบนี้เปล่าครับ
6 @R01219
ใช่คะขอบคุณมากนะคะ
7 @R01221
ความเห็นคุณ renoo น่าสนใจดีครับ แต่ขอถามต่อนิดนึงว่าวิธีการนี้สำรองเฉพาะข้อมูลอย่างเดียว หรือไปด้วยกันทั้งข้อมูลและตัวโปรแกรมด้วย สมมติว่าสำรองเฉพาะข้อมูลอย่างเดียว แล้วหากเราต้องการนำข้อมูลที่สำรองไว้ กลับมาใช้ใหม่ ต้องทำอย่างไรครับ
8 @R01224
การสำรองข้อมูลนั้นเราจะเขียนไฟล์ตัวที่เป็น application หรือ database
แล้วแต่วัตถุประสงค์การใช้(อยู่ที่ตัวท่าน) ถ้าเฉพาะdatabase นั้น คุณอาจจะ
มีไฟล์setup ก็สามารถเขียนคำสั่งกลับมาใช้ใหม่ได้(เขียนสลับ) หากคุณใช้
ตัวdatabaseกับตัว app. เป็นตัวเดียวกันก็เพียงสำรองให้เก็บไว้อีกที่หนึ่ง
ผ่านปุ่มคำสั่ง
แต่โดยปกติที่ผมทำ
ผมสำรองเฉพาะfile ที่เป็นdatabase ส่วนตัว application นั้นผมไม่สำรอง
เพราะไม่มีเหตผลใดที่จะสำรองตัว application เปลืองพื้นที่เปล่า
แต่เมื่อจะนำมาใช้ ผมติดตั้งไฟล์setupก่อน(ใช้โปรแกรมinno setup5)
จากนั้นคลิกปุ่มคำสั่งนำเข้าโดยเขียนสลับกัน
เหตุผลที่ใช้ inno เข้าช่วยเพื่อให้ผู้ใช้งานสะดวกเมื่อนำโปรแกรมไปใช้
(เป็นเพียงความคิดเห็นที่ทำอยู่นะครับ)
แล้วแต่วัตถุประสงค์การใช้(อยู่ที่ตัวท่าน) ถ้าเฉพาะdatabase นั้น คุณอาจจะ
มีไฟล์setup ก็สามารถเขียนคำสั่งกลับมาใช้ใหม่ได้(เขียนสลับ) หากคุณใช้
ตัวdatabaseกับตัว app. เป็นตัวเดียวกันก็เพียงสำรองให้เก็บไว้อีกที่หนึ่ง
ผ่านปุ่มคำสั่ง
แต่โดยปกติที่ผมทำ
ผมสำรองเฉพาะfile ที่เป็นdatabase ส่วนตัว application นั้นผมไม่สำรอง
เพราะไม่มีเหตผลใดที่จะสำรองตัว application เปลืองพื้นที่เปล่า
แต่เมื่อจะนำมาใช้ ผมติดตั้งไฟล์setupก่อน(ใช้โปรแกรมinno setup5)
จากนั้นคลิกปุ่มคำสั่งนำเข้าโดยเขียนสลับกัน
เหตุผลที่ใช้ inno เข้าช่วยเพื่อให้ผู้ใช้งานสะดวกเมื่อนำโปรแกรมไปใช้
(เป็นเพียงความคิดเห็นที่ทำอยู่นะครับ)
9 @R01226
มีแบบใช้ winzip
ต้องขอขอบคุณผู้สร้างตัวอย่างครับ
ผมส่งไปไว้ที่ accboard@gmail.com ครับ
ต้องขอขอบคุณผู้สร้างตัวอย่างครับ
ผมส่งไปไว้ที่ accboard@gmail.com ครับ
10 @R01230
ขอบคุณทุกคนเลยนะคะ ที่ร่วมแสดงความคิดเห็น
11 @R01235
มีแบบเวลาปิดโปรแกรมแล้ว สามารถส่งข้อมูลไป backup อัตโนมัติเลยได้เปล่าครับ
12 @R04214
อยากให้ backup ตอนไหนก็เอา code ที่เขาแนะนำไปเขียนใน event ต่างๆ ของ form หรือ control ได้เลยครับ เช่น เลื่อน record ไปข้างหน้าทุกครั้งให้ backup ทุกครั้งก็เอา code ไปเขียนแทรกใน code ของปุ่มเลื่อนไปข้างหน้า(ใส่ข้อมูลใน record ปัจจุบันเสร็จแล้วเลื่อนไปขึ้น record ใหม่ก็ backup ทันที) การ backup แบบอัตโนมัติโดยตั้งเวลาไว้เลยล่วงหน้า เช่น 10 นาทีต่อครั้ง กรณีนี้เสี่ยงเกินไปนะ อาจต้องซ่อมกันบ่อยๆ
Time: 0.3304s
ตย.ก็เช่น
Rename DB.MDB Backup.MDB
Copy Backup.MDB C:\Backup Folder\DB.MDB
Rename Backup.MDB DB.MDB