สมัครสมาชิก
 

Link MDB File



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

05 ก.พ. 62 , 10:34:01
อ่าน 64 ครั้ง

ศรี-นคร

Link MDB File
« เมื่อ: 05 ก.พ. 62 , 10:34:01 »
สำหรับองค์กรหรือหน่วยงานขนาดเล็ก-ขนาดกลาง ที่ต้องการใช้ข้อมูลร่วมกันในหลายส่วนหรือแผนก
หากต้องเชื่อมฐานข้อมูลไปยัง mdb ไฟล์ที่เก็บไว้ Server หรือ Share folder ที่ส่วนกลาง
สามารถทำได้ 2 วิธีครับ

วิธีที่ 1 คือทำการคลิ๊กขวาที่ Tab : table เลือก Link Tables

วิธีที่ 2 คือเชื่อมต่อผ่าน ODBC โดยมีหลักการมีดังนี้ครับ
- ขั้นตอนที่ 1 สร้าง ODBC เพื่อ Connect ไปยัง MDB ไฟล์ที่ต้องการเชื่อมข้อมูล
- ขั้นตอนที่ 2 ทำการ Link Table เข้ามาในไฟล์ Front End ที่กำลังใช้งานอยู่
- ขั้นตอนที่ 3 ในหน้าเขียนโค๊ด VBA ให้ติ๊กเลือก Tools --> Reference --> Microsoft DAO 3.6 Object libray

##################################
เมื่อต้องการจะจัดการกับข้อมูลใน Table สามารถใช้รูปแบบดังนี้

    Dim rst1, rst2, rst3, rst4, rst5, rst6, rst7, rst8 As DAO.Recordset

    Dim dbs As Database
    Set dbs = CurrentDb()
   
    Set rst1 = dbs.OpenRecordset("SELECT * from Table1")
    'Add
    rst1.addnew
    rst1!Filed1 = "Test"
    rst1.update

    'Edit
    rst1.edit
    rst1!Filed1 = "Test"
    rst1.update

    'Del
    rst1.Delete

    rst1.close
    Set rst1 = nothing

โดยเราจะต้องใส่ Password ไว้ที่ ตรงที่ไฟล์ mdb ที่ Share ไว้ที่ส่วนกลางนั้นไว้ด้วย เพราะเดี๋ยวมีใครซุกซนเข้าไปแก้ไขข้อมูลเดี๋ยวงานจะเข้า
และมีข้อควรระวังอยู่หลายเรื่องคือ
- จะต้องทำการ Compact ข้อมูลทุกวันเพื่อให้ระบบทำการ Clean up record ที่โดนลบระหว่างวันออกไป
- ต้องมีการ Backup ข้อมูลทุกวันเพราะเมื่อไฟล์ชำรุดจะไม่สามารถเปิดไฟล์ได้เลย ไม่ว่าจะรู้ Password ก็ตามต้องใช้ tools พิเศษซ่อม และ Relation ระหว่าง Table จะเสียต้องเข้าไปไล่หาว่า Link ที่เสียหายนั้น หายไปที Table อะไร ต้องทำการสร้าง Relation นั้นใหม่ ซึ่งอาจจะมีปัญหาเพิ่มเติมมาอีกตรงที่มี Record บางอันเกินมาทำให้ไม่สามารถเชื่อมความสัมพันธ์ได้ ต้องลบทิ้งก่อนทำการเชื่อม แล้วค่อยคีร์เข้าไปใหม่
สามารถตรวจสอบได้โดยการสร้าง Query Unmatch เพื่อให้ทราบว่ามี record ใดบ้าง
- เมื่อฐานข้อมูลชำรุด Data unrecognized ต้องให้ User ออกจากระบบทั้งหมดแล้ว Restart เครื่องคอมฯ ที่ Share ไฟล์นั้นเพื่อยกเลิกการเชื่อมต่อมายัง โฟลเดอร์ดังกล่าว ทำการปิด Share สำหรับ User ทุกคน ยกเว้น User ที่ดูแลระบบแล้วจึงทำการปรับซ่อมไฟล์ให้แล้วเสร็จ จากนั้นค่อยทำการเปิด Share กลับมาเหมือนเดิม ปัญหาใหญ่มันจะอยู่ที่ไฟล์ที่ชำรุดนั้นจะเปิดไม่ได้ต้องใช้ Tool ที่เป็นไฟล์ข้างนอกทำการปรับซ่อมสถานเดียว ถ้าไม่มีจึงไม่แนะนำให้ใช้การ Share ข้อมูลวิธีนี้ โดยจะต้องทำทันทีเดี๋ยวนั้นเลย ก่อนที่ข้อมูลจะพังจนสายเกินแก้ หากไม่เก่งพอหรือไม่มี Tool อยู่ในมือ ไม่แนะนำให้ใช้การ Share ข้อมูลแบบนี้เพราะนั้นหมายถึงคุณต้องเอาไฟล์ Backup กลับมาใช้ นรกจะบังเกิดทันที
- เมื่อมีคนใช้งานรวมกันมากขึ้น การเปิด-เขียนข้อมูลจะช้าลงอย่างเห็นได้ชัด เนื่องจากตัว MS-Access จะมีการ Lock Record ที่ User แต่ละคนกำลังใช้งานอยู่ในขณะนั้น
- ความแรงและความเร็วในการอ่านเขียนของเครื่องที่ Share ไฟล์ก็จะมีผลเรื่องความเร็ว ในการอ่าน-เขียนด้วยนะครับ
- การออกแบบระบบ Network และคุณภาพ,ความเร็วของ Network ก็มีผลกับความบ่อยของการชำรุดของไฟล์ที่แชร์ด้วย ถ้าไม่ดีหรือไม่เสถียรก็จะมีปัญหาบ่อย
- ส่วนการตั้งรหัสผ่าน mdb ไฟล์สามารถค้นหาอ่านได้จากข้อมูลเก่าของ อ. สุภาพ ไชยาครับ

จะเห็นว่า มีเงื่อนไขและรายละเอียดการใช้งานค่อนข้างเยอะ จึงไม่แนะนำให้ใช้การ Share วิธีนี้ เลี่ยงได้ก็ควรจะไปใช้ SQL Server จะดีกว่าได้ความเร็วและเสถียรกว่ากันเยอะ แต่ก็ต้องเตรียมเรื่องของ Server และ License

############################
Tool ที่ว่าผมมี หากต้องการให้ Post ขอด้านล่างนะครับเพราะจะให้คนที่ต้องการเท่านั้น ไม่ให้พร่ำเพรื่อ

ขอขอบคุณความรู้เกี่ยวกับ MS-Access จาก อ. สุภาพ ไชยา

ก็ฝากไว้เผื่อจะสามารถช่วยให้มิตรรักแฟนเพลงท่านหนึ่งท่านใด ก้าวพ้นปัญหาที่กำลังแก้อยู่ได้เร็วขึ้น
« แก้ไขครั้งสุดท้าย: 06 ก.พ. 62 , 16:15:19 โดย ศรี-นคร »

 
โพสต์นี้ได้รับคำขอบคุณจาก: Chatthadon


บอร์ดเรียนรู้ Access สำหรับคนไทย



There are no comments for this topic. Do you want to be the first?