Page 1 of 1

Update Table จาก Master DB ไปยัง Front End(Access)

Posted: Mon Oct 29, 2012 4:30 pm
by prawitj
เรียนถามอาจารย์ครับ เนื่องจากผมมีปัญหา ในการใช้ Access โดย ในตอนแรกนั้นผมใช้ Link Table และเก็บ File Database แยกจากโปรแกรม Front End
แต่เนื่องจาก File DB นี้ ใช้กันหลายทีมงานมาก (ประมาณ 15-20 คน)และบางครั้ง ก็ เปิดใช้พร้อมๆกัน ทำให้การทำงานอืดมาก

เบื้องต้น ผมเลย โยน Table บาง Table ไปให้กับ File Front End เลย เช่น Table Sales หรือชื่อ Finance เป็นต้น ทำให้ Program เร็วขึ้นมาก

แต่ก็เกิดปัญหา อีก นั่นคือ เวลา ที่ผมต้องเพิ่มชื่อ Finance , mark Sales ที่ลาออก , เพิ่ม Sales ที่เข้าใหม่ ผมต้องไปแก้ที่ Program Front-End และใช้วิธีการ Upgrade Version หลอกไป ซึ่งตอนแรกๆ ก้ไม่มีปัญหาอะไร

แต่แล้วสิ่งที่ไม่คาดฝันก็บังเกิด นั้่นคือฝั่ง Client ไม่เชื่อถือใน Program เพราะมัน Upgrade (หลอกว่า up แต่จริงๆ ปรับปรุงแค่ DB ) บ่อยมาก

ผม เลยคิดว่าน่าจะมี Code VBA ที่เขียนให้ สามารถ Update ข้าม File ได้ โดยสร้างปุ่มกดให้ Delete File Local ก่อนแล้วก็ ค่อย Append Table จาก Master DB

ในส่วนของ Code SQL ผมเขียนได้แต่ผมไม่ทราบว่าจะเริ่มต้นเขียนให้มันไปวิ่งหาอีก File ยังไงครับ อาจารย์พอจะมีคำแนะนำไม๊ครับ

Re: Update Table จาก Master DB ไปยัง Front End(Access)

Posted: Mon Oct 29, 2012 5:24 pm
by snasui
prawitj wrote:น่าจะมี Code VBA ที่เขียนให้ สามารถ Update ข้าม File ได้ โดยสร้างปุ่มกดให้ Delete File Local ก่อนแล้วก็ ค่อย Append Table จาก Master DB

ในส่วนของ Code SQL ผมเขียนได้แต่ผมไม่ทราบว่าจะเริ่มต้นเขียนให้มันไปวิ่งหาอีก File ยังไงครับ อาจารย์พอจะมีคำแนะนำไม๊ครับ
การเขียน Code ให้ Delete File ดูตัวอย่างที่นี่ครับ http://www.snasui.com/viewtopic.php?p=15602#p15602

ในส่วนของการ Append Table จาก Master Data ลองดูที่นี่เป็นแนวทางครับ http://www.access-programmers.co.uk/for ... p?t=135347

Re: Update Table จาก Master DB ไปยัง Front End(Access)

Posted: Tue Oct 30, 2012 9:37 am
by prawitj
ขอบคุณอาจารย์มากครับ

Re: Update Table จาก Master DB ไปยัง Front End(Access)

Posted: Tue Oct 30, 2012 11:36 am
by prawitj
ดูวิธี Append แล้วมันไม่เห็นมีวิธีอ้าง Data จาก File Access อื่นเลยครับ

Re: Update Table จาก Master DB ไปยัง Front End(Access)

Posted: Tue Oct 30, 2012 11:59 am
by snasui
:D ลองศึกษาจากที่นี่เพิ่มเติมครับ http://msdn.microsoft.com/en-us/library ... e.12).aspx

เนื่องจาก Code ควรเขียนมาเอง ติดปัญหาแล้วค่อยถามกันเผื่อว่าพอจะช่วยได้ครับ

ลักษณะงานแบบนี้เท่าที่ผมพอจะทราบคือ ต้องนำข้อมูลออกมาจาก Table เดิมให้ได้ก่อนเช่นการนำ RecordSet เข้ามาช่วยเพื่อนำไปเก็บไว้ที่ไหนสักที่เช่นใน Memory, Text File แล้วใช้คำสั่งให้เขียน Data ที่เก็บไว้นั้น Append ให้กับ Table เป้าหมายที่ต้องการ

Re: Update Table จาก Master DB ไปยัง Front End(Access)

Posted: Tue Oct 30, 2012 3:31 pm
by prawitj
เรียนอาจารย์ ผมได้ทดสอบเขียน Code ดังนี้ ลองทดสอบกับ Drice D: แล้วได้ ผมเลยลองทดสอบ โดยให้ Source File เป็น Server_crk(ชื่อ Server บริษัท) ปรากฏว่า ทำไม่ได้ครับ รบกวนอาจารย์ช่วยแนะนำด้วยครับ
ผมคิดได้ละว่าผมจะใช้วิธีการ link Table ใน Desktop ของ Client แทน แล้ว ผมจะ ใช้ Code นี้ให้เค้ากดแล้วนำเอา File Master ไปแปะครับ

Dim Source As String
Dim Destination As String
Kill "D:\New folder\Test.xls"
Source = "\server_crk\Data-BD\PrawitJ\Test2.xls"
Destination = "D:\New folder\Test3.xls"
FileCopy Source, Destination

Re: Update Table จาก Master DB ไปยัง Front End(Access)

Posted: Tue Oct 30, 2012 5:26 pm
by snasui
:D ลองตรวจสอบว่า Folde ใน Server ให้สิทธิ์ในการเขียนทับ Delete ไฟล์หรือไม่ครับ (คลิกขวาที่ Folder > Properties)