รบกวนสอบถามเกี่ยวกับการออกแบบหน้าจอ 2 มิติ และ Database ค่ะ
ผมจะช่วยเท่าที่ผมรู้นะครับ อาจจะไม่ถูก รอท่านผู้รู้ท่านอื่นๆมาช่วยเสริมอีกทีนะครับ
ตอนนี้มีเวลาไม่มาก ผมเลยออกแบบตารางแบบ Basic เลยนะครับ อาจจะยังไม่ดีที่สุด
ส่วนของ Database
ตอนนี้มีผมคิดได้ 2 แบบ
แบบที่ 1 :
tblCharge_Category(ตารางเก็บประเภทค่าใช้จ่าย)
Field : ID(Primary_Key,identity) | Name(String)
tblCharge(ตารางเก็บค่าใช้จ่าย)
Field : ID(Primary_Key,identity) | FK_ID(คีย์นอกสัมพันธ์กับ ID ตาราง tblCharge_Category) | Cash(money เงินสด) | Bank(money ธนาคาร) | Payable (money ค้างจ่าย) | Ot_ex (money ค่าใช้จ่ายอื่นๆ)
กรณีนี้เหมาะสมกับการที่ User Insert เข้าไปทีละแถว(ทีละประเภทค่าใช้จ่าย) และกด Save และเลือกค่าใช้จ่ายใหม่(Combobox) และกด Save ไปเรื่อยๆ จนหมดทุกประเภทค่าใช้จ่าย
แบบที่ 2
tblCharge_Category(ตารางเก็บประเภทค่าใช้จ่าย)
Field : ID(Primary_Key,identity) | Name(String)
tblChargeHD(ตารางหลัก เก็บค่าใช้จ่าย)
Field : ID(Primary_Key,identity) | (... Field เพิ่มเติมเช่น วันที่เก็บข้อมูล ชื่อ User ที่เก็บข้อมูล และอื่นๆ)
tblChargeDT(ตารางย่อย เก็บค่าใช้จ่าย)
Field : ID(Primary_Key,identity) | FK_ID(Foreign_Key สัมพันธ์กับตารางหลัก) | FK_ID(คีย์นอกสัมพันธ์กับ ID ตาราง tblCharge_Category) | Cash(money เงินสด) | Bank(money ธนาคาร) | Payable (money ค้างจ่าย) | Ot_ex (money ค่าใช้จ่ายอื่นๆ)
กรณีนี้เหมาะสมกับการที่ User เพิ่มข้อมูลจากหน้าจอทั้ง 19 ประเภทค่าใช้จ่าย แล้วกด Save Insert เข้าไปทีเดียวเป็นชุดๆ
ทั้งสองแบบมีความเหมาะสมไม่เหมือนกันลองไปพิจารณาดูนะครับ
ส่วนของโปรแกรม
ในส่วนนี้ก็แยกตามกรณีคล้ายๆกับตอนที่ผมทำออกแบบ Database
แบบที่ 1
ต้องใช้คอนโทรน Combobox หรือ คอนโทรนที่คล้ายๆกัน อาจจะไปพิมพ์ชื่อประเภทค่าใช้จ่ายแล้วประเภทค่าใช้จ่ายขึ้นมา หรือเลือกเอาเอง
และก็วาง textbox แยกตามประเภท เงินสด , ธนาคาร , ... เป็นต้น แล้วมีปุ่มกด Save ไปที่ละแถว ทีละประเภทค่าใช้จ่าย
แบบที่ 2
อาจจะออกแบบหน้าจอคล้ายๆกับรูปที่คุณเจ้าของกระทู้โพสไว้ แต่ในเรื่องของการเซฟอาจจะต้องมีเรื่องของการออกแบบ Class หรือ Dataset มารองรับข้อมูล
เก็บค่าไว้ก่อนที่จะทำก่อนเซฟ จะช่วยให้การเซฟเป็นระบบจัดการง่าย
ผมไม่มีเวลาคิดมากอาจจะไม่ดีที่สุด รอท่านผู้รู้ท่านอื่นๆ มาตอบนะครับ
ประวัติการแก้ไข 2013-07-03 10:39:13 2013-07-03 10:39:17 2013-07-03 10:39:57
Date :
2013-07-03 10:38:41
By :
01000010
โอ้ววสุดยอดมากๆค่ะ มาเป็น step เลย ขอบคุณมากๆนะคะ
เดี๋ยวจะลองนำแนวคิดของพี่ไปปรับใช้นะคะ
Date :
2013-07-03 11:46:34
By :
koy_2028
Load balance : Server 00