20091207

ใช้ MS Access เป็น Front End ควรใช้อะไรเป็น Back End

ขอความรู้นะครับ

ที่ทำงานใช้ MS Access เก็บข้อมูลกันครับ

มีการพัฒนาระบบ Front ของ Access ใหม่ โดยแยกข้อมูลไว้ใน Server โดยใช้ Access เป็น Front ผลปรากฎว่าข้อมูลที่เรียกผ่านระบบ network ช้ามากๆ ก็เลยแก้ปัญหาด้วยการปรับระบบเป็น ODBC โดยทดลองใช้ Mysql เป็น Database Server ได้ความเร็วเป็นที่น่าประทับใจ

การติดตั้ง Mysql ใช้ Mysql 5.0.51b
ตัว Convert จาก MsAccess ไป Mysql ผมใช้ BullZip ครับ

ตอนนี้ฐานข้อมูลที่ทดลองใช้มีสองฐานข้อมูลด้วยกัน
ฐานข้อมูลแรกที่ Convert BullZip ฟ้องนะครับว่ามีข้อผิดพลาด ก็ทำการแก้ไขผ่านไปด้วยดี
( ปัญหาที่เกิดคือกำหนดค่าของ Field ผิด คือ เดิมกำหนดเป็น Byte ซึ่งที่ถูกต้อง ต้องกำหนดเป็น Int)

อีกฐานข้อมูลก็มี Error นะครับ ปัญหาคือ ได้มีการเขียนชุดคำสั่งว่า 'พอผู้ใช้กดปุ่ม SaveRecord ประมาณว่าให้copyข้อมูลเอาไว้ก่อนเพื่อนำไปสร้าง Record ใหม่ โดยผู้ใช้ไม่ต้องพิมพ์ข้อมูลชุดเดิมทั้งชุด (ตามภาพที่1)
พอผู้ใช้กดปุ่ม Duplicate ข้อมูลที่เรียกมานั้นก็นำไปสร้างเป็น record ใหม่ทันที

ผลปรากฎว่าข้อมูลในช่อง Field ต่างๆกลายเป็น #DELETE ตามภาพที่2 อันนี้ก็งงกันซิครับว่าปัญหาเกิดจากอะไรกันแน่

เพราะเหตุการณ์นี้ไม่เกิด ถ้าใช้ MS Access โดยตรง

ตอนนี้ก็เลยสับสนว่า มันผิดที่ตรงไหน จะหาทางแก้ยังไงดี

แล้วถ้าจะมีการปรับระบบฐานข้อมูล BackEnd ควรจะเป็นอะไรดี โดยที่ Front เป็น Access เพราะผู้พัฒนาระบบถนัดที่จะใช้ MS Access กันครับ

อีกเรื่องหนึ่งที่เป็นที่ถกเถียงกันว่า ระบบ Network มีผลต่อการ Link ข้อมูลของ Ms Access มากน้อยแค่ไหน หมายถึง Sprit ข้อมูลเอาไปไว้ใน Server

ความช้าของ Access ขึ้นอยู่กับอะไร

Record ที่ไม่มาก แต่การเขียน Form ที่ซับซ้อนจะส่งผลต่อการเรียกข้อมูลหรือไม่

ผมเองไม่มีความรู้เรื่อง Access มากเท่าไหร่นัก แต่พอจะมีความรู้เรื่อง Mysql และ PHP อยู่บ้างคงต้องขอความรู้จากท่านทั้งหลายครับ

ขอบคุณครับ


0 comments:

Post a Comment

 

Copyright © Access เบื้องต้น Design by Gu