การออกแบบระบบ?
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 376   9
URL.หัวข้อ / URL
การออกแบบระบบ?

เรียนถาม อ.สุภาพและผู้รู้ค่ะ
ในการออกแบบระบบฐานข้อมูลโดยใช้ ms access จะอยู่ในรูปแบบตาราง โดยแต่ละตารางจะมีความสัมพันธ์กันผ่าน รหัส เช่น ตารางนักเรียน และ ตารางคำนำหน้าชื่อ ทั้งสองตารางจะเชื่อมโยงกันผ่าน รหัสคำนำหน้าชื่อ โดยให้รหัสคำนำหน้าชื่อที่ตารางคำนำหน้าชื่อเป็น คีย์หลัก
ในการทำงานผู้ใช้จะต้องระบุ รหัสของคำนำหน้าชื่อ ซึ่งจะเป็นตัวชี้ว่า เป็นของคำนำหน้าชื่ออะไร
คำถาม
รหัสการเชื่อมโยงต่างๆของตารางภายในระบบที่เราสร้างขึ้น เราควรจะกำหนดชนิดข้อมูลเป็น Text หรือ AutoNumber ดี อย่างไหนที่จะสะดวกสำหรับผู้ใช้
ตัวอย่างตาราง เช่น
ตารางคำนำหน้าชื่อ
ตารางเชื้อชาติ
ตารางสัญชาติ
ตารางศาสนา

และแบบไหนจะมีผลต่อการลบข้อมูลหรือไม่
รบกวนแนะนำด้วยค่ะ
ขอบคุณค่ะ

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

1 @R04653
แบบใหนๆ ก็คงสะดวกต่อผู้ใช้ครับ.. เพราะผู้ใช้เขาไม่รู้หรอกว่าโปรแกรมเมอรเก็บ
ข้อมูลในรูปแบบไหน ..แต่จะเป็นปัญหาของผู้ออกแบบระบบ และโปรแกรมเมอร
ในการพัฒนาโปรแกรม.. ผมขอออกความเห็นดังนี้..
1. ชนิด text อาจจะทำให้ใช้เนื้อที่ในการเก็บข้อมูลน้อย แต่ถ้าจะทำข้อมูลชนิด
text ให้เป็นในลักษณะ Autonumber ก็อาจจะทำยากขึ้น และอย่าลืมว่า การเคาะ
spacbar 1 ที ก็ถือว่าเป็นอักษรตัวหนึ่งครับ ฉะนั้นอาจจะเกิดปัญหาตามมาใน
ภายหลังได้
2. ชนิด number สามารถทำ Autonumber เองได้ง่ายกว่าชนิด text แต่ในบาง
ตารางก็อาจจะกินเนื้อที่ในการเก็บข้อมูลมากกว่าข้อมูลชนิด text
3. ชนิด Autonumber ก็มีข้อดี-ข้อเสียเหมือนกัน ตัวอย่างที่เห็นได้ชัดง่ายๆก็คือ
การทำคำนำหน้าชื่อไว้ใน combo control สมมติ 1.นาย, 2.นาง, 3.นางสาว
เกิดต่อไปอยากทำให้สามารถเพิ่มได้โดยอัตโนมัติเช่น ใส่คำว่า "พระ" เข้าไป
แล้วให้เพิ่มเข้าไปในตารางที่เก็บคำนำหน้านี้ คุณก้อยว่า ข้อมูลชนิดไหนจะเขียน
code ได้สั้นที่สุด
4. ถ้าลักษณะงานไหน หรือตารางไหนที่มีการเปลี่ยนแปลงข้อมูลบ่อยๆ หลากหลาย
ก็อาจจะไม่เหมาะกับ autonumber นัก
5. ............
2 @R04656
อีกครั้งค่ะ
ขอบคุณ อ.BADMan สำหรับคำแนะนำค่ะ
มีคำถามอีกค่ะ
ถ้าจะสร้างฟิล์ดเพื่อเก็บวันเวลาที่ เพิ่ม/สร้าง ข้อมูล และ
ฟิล์ดเก็บวันเวลาที่ แก้ไข/ปรับปรุง ข้อมูล ของแต่ละเร็คคอร์ด
อ.มีความคิดเห็นอย่างไรค่ะ
รบกวนด้วยค่ะ
ขอบคุณค่ะ
3 @R04666
ไม่ทราบจะเข้าใจตรงกัน รึเปล่านะ..
ผมเข้าใจว่า คุณก้อยกำลังจะทำตารางเก็บข้อมูลการเปลี่ยนแปลงของเรคอร์ด ไม่ว่า
จะเป็นการเพิ่ม/แก้ไข/ลบ เรคคอร์ด ..ไม่ทราบผมเข้าใจถูกต้องหรือเปล่า...

ถ้าใช่ ก็นับว่า น่าสนใจไม่น้อยครับ.. ต้องออกแบบตารางให้ดี(ให้ได้ประโยชน์จาก
การใช้ข้อมูลให้มากที่สุด)

ต้องมี logic ที่ถูกต้องเพื่อสามารถเก็บข้อมูลได้ครบถ้วนทุกเหตุการณ์

ประโยชน์ของข้อมูลนี้น่าจะอยู่ที่เป็นการติดตามดูการใช้โปรแกรมของ user
และอาจดูปัญหาที่เกิดขึ้นกับโปรแกรมได้ด้วยถ้าคุณก้อยได้วางแผนให้เก็บ code
error ที่เกิดขึ้นลงในตารางนี้ด้วย
4 @R04670
เรียนถามอีกเรื่องค่ะ
คือ อยากจะทำฟอร์ม 2 ฟอร์ม
frm1 เป็น ฟอร์มหลัก
frm2 เป็น ฟอร์มควบคุมฟอร์มหลัก
ต้องการสร้างปุ่มที่ frm2 เพื่อควบคุม frm1
โดยในปุ่มนี้ ผู้ใช้สามารถคลิกเพื่อ Minimize frm1 และในขณะเดียวกันถ้า frm1 Minimize อยู่ ผู้ใช้ก็สามารถคลิกปุ่มเดิมเพื่อทำการ Restore up frm1 ได้ไม่ทราบว่าจะต้องทำอย่างไรค่ะ
ขอบคุณค่ะ

5 @R04671
ลอนำตัวอย่างนี้ไปประยุกต์ใช้ดูครับ..
6 @R04674
ขอบคุณ อ.BADMan มากค่ะ สำหรับตัวอย่างที่แนะนำ
มีคำถามอีกค่ะ
คือได้ประยุกค์ใช้ จากตัวอย่างที่เกี่ยวกับ Password ของ อ.BADMan
ที่เมื่อเปิดโปรแกรมขึ้นมา ก็จะมีฟอร์มเป็นTitle ของโปรแกรม จากนั้นก็จะแสดง ฟอร์มสำหรับระบุ UserName และ Password ของผู้ใช้

คำถาม อยากทราบว่าจะกำหนดตำแหน่งของฟอร์ม Title ที่ขึ้นมาครั้งแรก ให้อยู่ตรงมุมบนขวาของ Dasktop ได้อย่างไรค่ะ เพราะปกติจะขึ้นกลางจออัตโนมัติ รบกวนอีกครั้งน่ะค่ะ
7 @R04683
Private Sub Form_Open(Cancel As Integer)
DoCmd.MoveSize,0,0
End Sub
8 @R04684
เรียนถามเรื่อง Treeview
จากตัวอย่างในwebboard นี้
จะใช้ Treeview control version 5.0
แต่หนูใช้ Treeview Control Version 6.0
ทำให้ไม่สามารถประยุกต์ให้งานได้ ลองทำตามโค้ดที่ใช้ lvw version 5.0 ก็ไม่เป็นตามนั้น คิดว่า ทั้ง2 version จะใช้การเขียน Code ต่างกัน
อยากทราบวิธีการกำหนด Treeview Control Version 6.0
กรุณาแนะนำด้วยค่ะ
9 @R04685
ผมยังไม่เคยใช้ Treeview เลยครับ..
ปัญหานี้ขอยกให้ อ.สุภาพ เป็นคนตอบก็แล้วกันครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0541s