Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ ระบบฐานข้อมูล
Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ การเขียนโปรแกรม
Access : เป็นได้ทั้งตัวเก็บฐานข้อมูล และตัวจัดการฐานข้อมูล
Thai Access : บอร์ดเสริมการเรียนรู้ Access ด้วยภาษาไทย

        @ คุณได้คำตอบที่ต้องการแล้วหรือยัง กลับมาอีกสักครั้งเพื่อแจ้ง ผู้ตอบ               @ เขียนคำถามให้ผู้ตอบเข้าใจ จะช่วยให้ผู้ถามได้คำตอบที่ชัดเจน และรวดเร็ว               @ ต้องการ อัพโหลดรูปภาพประกอบกระทู้ browser ของท่าน ต้องอนุญาตใช้ป๊อบอัพ        

Back to Board : Thai Access Webboard New Topic    Reply
การ backup ข้อมูลและการ Restore ข้อมูล

Topic by Message Posted : on : 16/5/2552 16:46:02
paitoon  ช่วยแนะนำเครื่องมือ และการออกแบบการเก็บประวัติข้อมูล แล้วสามารถนำมาแก้ไขได้ โดยผมต้องการ backup ข้อมูล programe Access ทั้งหมดเก็บไปไว้ข้างนอก แล้วเมื่อถึงวันหนึ่งเกิดต้องการข้อมูลเก่าที่ backup ไว้ จึงทำการ restore ข้อมูลมาแกไข้
.......เช่น ผมมี program ชื่อ cost01 ซึ่งเป็นขอ้มูลปัจจุบัน แล้วได้สร้าง programe ชื่อ cost02 ไว้อีกตัวหนึ่ง ที่มี ตาราง ทุกอย่างเหมือนกัน แต่ program ชื่อ cost01 จะใช้ทำข้อมูลของปัจจุบัน แล้วทำการ backup cost01 ชื่อ backcost01-13-05-2009, backcost01-14-05-2009 และ backcost01- 15-05-2009 มาวันผมต้องการนำข้อมูลชื่อ backcost01-13-05-2009 มาทำการแก้ไขโดยใช้การ Restore มาทับข้อมูลที่สร้างไว้ที่ Program ชื่อ cost02 ซึ่งเป็นการแค่ดูข้อมูลเ?ื่อเปลี่ยนเทียบ แก้ไข เปลี่ยบกับปัจจุบัน เราสามารถทำได้หรือเปล่าครับ หรือมีวิธีไหนบ้างครับ

ผมได้ส่งรูปภาพตัวอย่างโปรแกรม ไปที่เมล์ accboard@gmail.com ชื่อ ตัวอย่างโปรแกรม ครับ

ขอบคุณมากครับผม

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

Reply by Message on : 16/5/2552 22:27:07
Gerald
(R02199)
copy C:\xxxx.mdb c:\xxxx_%date:~-4,4%%date:~-7,2%%date:~-10,2%.mdb

ผม สร้างเป็น bat file แล้วไปเก็ยใว้ที่ Scheduled task กำหนดเวลาการทำงานใว้
Back to Top
Reply by Message on : 17/5/2552 10:43:14
paitoon
(R02202)
ขอบคุณ Gerald ที่ให้คำแนะนำครับ แต่ผมยังไม่เข้าใจเท่าไรครับ ต้องศึกษาอีกนาน แล้วเขาเอาไปใส่ไว้ทีไหนครับ ใช้ที่ โมดูล หรือเปล่าครับ ขั้นตอนการทำช่วยบอกเป็น step by step ให้ผมหน่อยครับ คือผมไม่เก่งถ้าแบบว่าลึก ๆ

ยกตัวอย่างครับ
...เช่น ผมมีโปรแกรมชื่อ cost01 มีตาราง ITEM_NAME และ ITEM_QTY ซึ่งโปรแกรม อยู่ DRIVE C:\cost01.mdb   แล้วจะ backup ข้อมูลไปที่ DRIVE D:\ProgrameDate\        ซึ่งผมต้องทำอย่างไรครับ


ขอบคุณมากครับผม


Back to Top
Reply by Message on : 17/5/2552 16:16:54
Gerald
(R02206)
ที่ผมแนะนำไม่ได้ทำในตัว access ครับ แต่ผมทำที่ตัว OS คือ วินโดวส์ ในส่วนของคำสั่ง ดอส
การสร้าง Bat file ก็ใช้ Notepadแล้วเปลี่ยนจาก .txt ไปเป็น .bat
แล้วนำไฟล์นี้ไปเก็บใว้ที่
Start>Accessories>system tools>Scheduled task

ซึ่งเราสามารถกำหนดหนดเวลาการทำงานได้ อาจวางใว้ที่ตัว Server ก็สะดวกดีเพราะกำหนดให้ทำงานตอนที่ไม่มีคนใช้งานได้
วิธีสร้าง ก็เปิด Notepad > new

copy C:\cost01.mdb D:\ProgrameDate\cost01_%date:~-4,4%%date:~-7,2%%date:~-10,2%.mdb

แล้ว save as to >cost01bk.bat

** Dos ชื่อไฟล์ ไม่เกิน 8ตัว นามสกุล 3ตัว
ลองศึกษาจาก google ต่อได้ครับ ท่านอาจใส่คำสังมากกว่านี้ได้
echo off
...
ทดสอบการทำงานได้โดย
Start>run> CMD กด enter
copy คำสังไปวาง โดย คลิกขวาที่ตัว Title bar ขอบบนของหน้าต่าง เลือ Edit>paste พอคำสั่งมาแล้วกด Enter เมื่อมันทำงานเสร็จจะขึ้น 1 file copy
แล้วไปผล ดูที่ D:\ProgrameDate
ลองดูนะครับ



Back to Top
Reply by Message on : 17/5/2552 16:30:42
Gerald
(R02207)
เพิ่มเติมนะครับ

ในระบบจริง ควรวาง mde บน network drive แล้วเราจะใช้ Backup from Windows ก็ได้แต่ ผมจะใช้ทั้ง สองอย่างเพื่อความปลอดภัย สะดวก เร็วกว่า

ถ้าจะเขียนเป็น module ต่างหากใน access ก็ได้เรียก dos shell มาใช้ กดปุ่ม copy แต่การทำแบบนี้แบบ manual คนชอบลืม backup บ่อย ๆ เหมือนการสร้าง from ให้ user ต้องกรอกเยอะๆ เขียนดัก error จนเซ็ง สู้ใช้ค่า default หรือเลือกจาก combo box จะตัดปัญหาได้มากครับ   
Back to Top
Reply by Message on : 17/5/2552 22:31:30
paitoon
(R02209)
คือผมลองทำแล้วไม่แน่ใจว่าจะถูกต้องหรือเปล่าครับ เดี่ยวจะอธิบายแบบละเอียดให้คุณดูอีกรอบ ช่วยดูว่าผมทำถูกหรือเปล่า

    1. cost01.mdb =อยู่ที่ drive C:

    2. ProgrameDate = คือ folder สำหรับเก็บไฟล์ที่ backup อยู่ที่ drive D:

    3. สร้างไฟล์ cost01bk.bat ด้วย ์Notepad โดย copy คำสั่งไปวาง C:\cost01.mdb D:\ProgrameDate\cost01_%date:~-4,4%%date:~-7,2%%date:~-10,2%.mdb   แล้ว sale as to ไว้ที่หน้า Desktop

    4. เข้าไปที่ Start>Accessories>system tools >Scheduled task เลือก Add scheduled Task >next >Browse ไปที่หน้า Desktop แล้วเลือก ไฟล์ cost01bk.bat ทำสร้างไว้ > เลือกเป็น Monthly >Next
>เลือก Day 1 >Next >ตรง Enter the user name ผมไม่ได้เลือกอะไร เอาชื่อตาม default >Next >Open advanced Prepetiex for thsis task ผมไม่ได้เลือก > Finish
    
    5 ทดสอบการทำงานโดย   Start>run> CMD กด enter นำคำสั่งไปวาง C:\cost01.mdb D:\ProgrameDate\cost01_%date:~-4,4%%date:~-7,2%%date:~-10,2%.mdb แต่พอนำคำสั่งไปวาง   โปรแกรม cost01 ก็เปิดขึ้นมาเองจาก Drive C:cost01 เองครับ

.......ไม่รู้ว่าที่ทำเป็นขั้นตอนแบบนี้ถูกหรือเปล่า หรือว่ายังขาดตรงไหนไปครับ ช่วยแนะนำเพิ่มให้ผมอีกหน่อยครับ

ขอบคุณคุณมากครับผม

paitoon


Back to Top
Reply by Message on : 18/5/2552 8:30:27
Gerald
(R02210)
ถูกต้องครับ แต่...

ตรงข้อ 5 ของคุณ ไม่ตรงกับที่ผมแนะนำใว้
***ของผม***
ทดสอบการทำงานได้โดย
Start>run> CMD กด enter
copy คำสังไปวาง โดย คลิกขวาที่ตัว Title bar ขอบบนของหน้าต่าง เลือ Edit>paste พอคำสั่งมาแล้วกด Enter เมื่อมันทำงานเสร็จจะขึ้น 1 file copy
แล้วไปผล ดูที่ D:\ProgrameDate

***ของท่าน***
5 ทดสอบการทำงานโดย   Start>run> CMD กด enter นำคำสั่งไปวาง C:\cost01.mdb D:\ProgrameDate\cost01_%date:~-4,4%%date:~-7,2%%date:~-10,2%.mdb แต่พอนำคำสั่งไปวาง   โปรแกรม cost01 ก็เปิดขึ้นมาเองจาก Drive C:cost01 เองครับ

ผมให้ไปดูไฟล์ที่ ไดร์ฟ D:\ProgrameDate ว่ามีไฟล์ที่เรา ก็อปปี้มาหรือไม่ ไม่ใช่ทดสอบโดยการ Run ตัวจริง(C:cost01)

การ BackUp เป็นการสำรองข้อมูล ดังนั้นถ้า C:cost01 เสียหาย เราสามารถมารถ ก็อปปี้ ไฟล์จาก D:\ProgrameDate เลือตามวันที่เราต้องการ แล้ว Rename ครับ ซึ่งใช้เวลาไม่เกิน 5 นาที

**อีกนิดนึง
การตั้งชื่อไฟล์ หรือโฟลเดอร์ ควรมีความหมายใกล้เคียงกับสิ่งที่เราทำ (บักสีดา บ่นผมจนฝังหัว) D:\ProgrameDate ไม่ค่อย...นะ แนะนำครับ

Back to Top
Reply by Message on : 18/5/2552 10:37:51
paitoon
(R02212)
ยังทำไม่ได้เลยครับ

/*** ตรงข้อ 4 ของผม ก่อนจะเลือก Finish มันฟ้อง ( The new task has been created, but may not run because the account information could not be set.
The specific error is:
0x80070005: Access is denied
Try using the Task page Browse button to locate the application. )

/ *** ตรง 5 ที่ให้ copy คำสังไปวาง โดย คลิกขวาที่ตัว Title bar คำสั่งก็คือตัวนี้( C:\cost01.mdb D:\ProgrameDate\cost01_%date:~-4,4%%date:~-7,2%%date:~-10,2%.mdb ) ทั้งหมดเลยใช้ไหมครับ

/*** ส่วนที่ให้ผมไปดูไฟล์ที่ ไดร์ฟ D:\ProgrameDate ว่ามีไฟล์ที่เรา ก็อปปี้มาหรือไม่ คือไฟล์ที่เราทำการ Backup ใช้หรือเปล่าครับ ผมเข้าไปดูไม่มีไฟล์อะไรครับ

/*** ส่วนคำสั่งนี้มันแปลว่าอะไรกันบ้างครับ C:\cost01.mdb D:\ProgrameDate\cost01_%date:~-4,4%%date:~-7,2%%date:~-10,2%.mdb


ขอบคุณครับ
paitoon
Back to Top
Reply by Message on : 18/5/2552 10:50:27
Gerald
(R02213)
คำสั่ง
copy C:\cost01.mdb D:\ProgrameDate\cost01_%date:~-4,4%%date:~-7,2%%date:~-10,2%.mdb

ให้ copy ไฟล์ cost01.mdb จาก c:\

ให้ไปใว้ที่ D:\ProgrameDate แล้วเปลี่่ยนชื่อเป็น cost01_20090518.mdb
*-----------------------------*

copy C:\cost01.mdb D:\ProgrameDate\cost01__%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.mdb

ก็จะได้ cost01_2009-05-18_103948.mdb
คือชื่อไฟล์+วันที่+เวลา



Back to Top
Reply by Message on : 18/5/2552 10:51:32
paitoon
(R02214)
เพิ่มเติมครับ ผมเริ่มทำงาน 8:00 น. ลองตั้งเวลาเมื่อเช้านี้ ตั้ง Schedule Task เป็น daily /Start time10:50 Every 1 Day(s) พอถึงเวลา 10:50 โปรแกรมที่อยู่ก็เปิดขึ้นเอง อย่างนี้ถือว่าถูกหรือเปล่า พอผมได้ดูข้อมูลที่ Drive D:\ProgrameDate ไม่มีไฟล์อะไรเลย

ขอบคุณครับ
paitoon
Back to Top
Reply by Message on : 18/5/2552 11:27:26
Gerald
(R02215)
Schedule Task ทำงานแล้ว แต่ส่วน ไฟล์.bat ไม่ทำงาน

ลองส่ง bat file ของไปที่

accboard@gmail.com

www.gmail.com
userName : accboard
password : accgmail

ผมขอดูหน่อย
Back to Top
Page:   1 2 3 Next >>

Reply

 *Indicates required fields
Format:
Bold Under Line Italic Add Hyperlink Add Email Link Italic List Indent Add Image Emoticons Image Upload Insert code Mode:
Message:*
Your Name*:
Normal word*: Please input : ไทยแอ็คเซส
+++ webboard source: ASPThai.Net Webboard 6.0 webbord +++++++ admin : yeadram +++