ต้องการนำข้อมูลมาแสดงใน tab control ใน form ครับ
กระทู้เก่าบอร์ด อ.Yeadram

 4,527   10
URL.หัวข้อ / URL
ต้องการนำข้อมูลมาแสดงใน tab control ใน form ครับ

แต่ก่อนผมเข้าเว็บ อ.สุภาพ ประจำ และเห็น หลายท่านในนี้ช่วยกันตอบปัญหา แต่ตอนนี้ เว็บ อ.สุภาพ ไม่อยู่แล้ว แต่ดีใจมากที่เห็นเว็บนี้ของ อ.yeadram ผมขอเป็นสมาชิกเว็บนี้ด้วยครับ และมีปัญหารบกวนสอบถามครับ

ผมมี table อยู่ 3 table

1 department
departmentcode, departmentdescription

2 division
divisioncode, devisiondescription, departmentcode

3 employee
employeecode, employeename, divisioncode

ตัวอย่างข้อมูล

1. Department: Accounting
1.1 Division: Finance
1.2 Division: PO
1.3 Division: Budget

2. Department: Marketing
2.1 Division: Pr
2.2 Division: Crm



ผมสร้างฟอร์ม ต้องการให้มี tab control แสดง โดยมีจำนวนเท่ากับ division ครับ

เช่น พอผมเลือก department: Accounting ในฟอร์มก็จะแสดง tabs 3 page page1=finance, page2=po, page3=Budget
                      ในแต่ละ page ก็แสดงข้อมูลพนักงานของ division นั้นๆ ครับ
เช่นเดียวกัน ถ้าผมเลือก department: Marketing ในฟอร์มก็จะแสดง tabs 2 page page1=Pr, page2=Crm
                      ในแต่ละ page ก็แสดงข้อมูลพนักงานของ division นั้นๆ ครับ

ขอบพระคุณมากครับ

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

1 @R00109
ขอบคุณ และยินดีต้อนรับสมาชิกเก่าๆ ครับ
สำหรับคำถาม เขียนได้ละเอียดดีมากครับ น่าจะง่ายสำหรับคนตอบครับ
ผมเอง ยังไม่เคยทำ ก็ว่าจะลองเอาข้อมูลตัวอย่างที่ให้มา ไปลองผิดลองถูกดูเหมือนกันครับ

เท่าที่ลองวางโครงสร้างของฟอร์มคร่าวๆ ในใจ ดู น่าจะได้เป็นสองแนว
1. ถ้าให้การเลือก department เป็นการเลือกผ่านเมนูคำสั่ง, ปุ่มคำสั่ง, openagrs ของฟอร์ม, หรือคอมโบ     ต้องทำการเพิ่มหรือลดแท็บในขณะ run time ซึ่งต้องเขียนฟังก์ชั่นเฉพาะขึ้นมา

2. ถ้าให้การเลือก department เป็นการกดเลือก แท็บ ก็หมายความว่า ทำ tabs ซ้อน tabs แบบนี้จะไม่ต้องมีการเพิ่ม-ลดคอนโทรลในขณะ run-time ก็คือ
    - แท็บชั้นแรก ให้เลือก department จำนวนแท็บ = จำนวน department ทั้งหมด
    - - ในแต่ละแท็บของ department มีแท็บย่อยซ้อนอยู่ จำนวนแท็บ = จำนวน division ของแท็บนั้นๆ
    - - - ในแต่ละแท็บของ division ก็มีคอนโทรลต่างๆ ที่ไว้แสดงผลของ employee
ซึ่งแนวทางที่ 2 นี้ ถ้าหาก จำนวน department กับจำนวน division ไม่ค่อยมีการเปลี่ยนแปลงหรือคงที่ตลอดไม่เปลี่ยนแปลงเลย ผมว่าจะทำให้ง่าย และลดทรัพยากรของเครื่องในขณะทำงานได้หน่อยด้วยครับ
-- ยังไงก็ตาม เดี๋ยวผมจะลองทำตัวอย่าง ตามแนวที่ 1ดู   แล้วถ้าสำเร็จจะเอามาให้ดูครับ แต่ช่วงก่อนที่ผมจะเสร็จอาจมีคำแนะนำที่ดีที่ไวกว่า จากท่านอื่นๆ ก็ได้นะครับ
2 @R00110
เรียน อ.yeadram วิธีที่ 2 คงไม่เหมาะนะครับ เพราะ division มีการเปลี่ยนแปลงหรือเพิ่มขึ้น หรือลดลงตลอดนะครับ
และผมว่าจะสร้างปุ่ม add และ delete ใน form นี้ด้วยครับ ถ้ามีการกดปุ่ม add ก็ให้เพิ่ม tab page ใหม่สำหรับ division นี้
และถ้ากดปุ่ม delete ก็ให้ลบ tab พร้อมกับ division นั่นด้วยครับ
3 @R00111
ทำไมต้องทำเป็น Tab ครับ ผมว่าถึงแม้จะดูสวยงามดี แต่ไม่ค่อยเหมาะสมกับวัตถุประสงค์สักเท่าไหร่ ผมว่าน่าจะทำเป็น List Box มากกว่า เมื่อเลือก Department แล้ว ก็แสดง Division ในอีก List Box นึง พร้อมกับแสดงรายชื่อคนใน Sub Form ไปเลย และถ้าคลิกเลือก Division อีก ก็ค่อยแสดงรายชื่อคนใน Sub Form นั้นอีกที
4 @R00112
- ก็เป็นอย่าง คุณสันติสุข ว่านะแหล่ะครับ คืออยากให้สวยงาม และดูง่ายนะครับ
ก็เลยลองถามดูว่าทำได้หรือไม่นะครับ
- ถ้าทำเป็น list box ให้มันแสดง division ในแนวตั้งแบบนี้   Finance | PO | Budget ได้ไหมครับ เพราะปกติมันจะแสดงเรียงกันลงมาครับ
5 @R00113
วางตามแนวนอนทำได้ แต่ไม่เห็นว่าจะทำไปเพื่ออะไร เพราะไม่สามารถเลือกเฉพาะคอลัมน์ได้
6 @R00114
ได้แล้วครับ ตามแนวทางที่ 1 นะครับ
คร่าวๆ พอเป็นกระสาย อัพไว้ให้โหลดไปลองเล่นดู แต่ไม่แนะนำให้ทำจริงๆ หรอกครับ มันกินทรัพยากรเปล่าๆ

สำหรับท่านอื่นๆ ผู้มาอ่านเจอทีหลังนะครับ ขอให้ดูเปรียบเทียบระหว่าง สองฟอร์มนะครับ ว่าอะไร น่าจะดีน่าจะเหมาะกว่ากัน ระหว่าง ฟอร์มชื่อ All_List   กับ List_Tab

ตัวอย่างที่นำมาเป็นข้อมูล คือฐานข้อมูลตำบล ทั้งประเทศไทยเลยนะครับ ซึ่งไม่รับประกันว่า มันอัพเดตแค่ไหน ฐานข้อมูลนี้ผม หาโหลดมาจากอินเตอร์เน็ตนั่นแหละครับ น่าจะอนุมานได้ว่า มันเป็นข้อมูล ณ ปลายปี 2547-2548 บางคนอาจใช้ประโยชน์จากมันได้นะครับ

ลิงค์สำหรับโหลดไฟล์ตัวอย่าง ครับ


ยังไม่ได้เขียนสคริปต์เพิ่มเติม สำหรับให้ทุกท่าน อัพไฟล์เลยครับ ต้องขออภัยด้วย ยังติดงานประจำนิดหน่อยครับ ตอนนี้มีผมอัพได้คนเดียว โดยผ่าน FTP ไปพลางๆ ก่อน อย่าว่ากันนะครับ
ถ้าเคลียร์งานได้ว่างกว่านี้สักหน่อย จะบริการให้ครับ
7 @R00116
ขอบคุณมากครับ อ.yeadram สำหรับคำตอบ ซึ่งตรงตามวัตถุประสงค์ครับ แต่ถ้าเลือก จังหวัดที่มี อำเภอ มากๆ
เช่นกรุงเทพ มันก็จะประมวลผลช้าเหมือนกัน และเปลืองทรัพยากร ของเครื่องด้วยใช่ไหมครับ แต่ถ้าเป็นข้อมูลน้อยๆ
น่าจะพอได้ใช่ไหมครับ
8 @R00118
มันวนลูปตามจำนวนครับ ผมวนลูปสองครั้ง
ครั้งแรก เพิ่ม-ลดคอนโทรล จำนวนรอบจะมากน้อยขึ้นอยู่กับส่วนต่างของ สมาชิกใน Category2 ของการเลือกครั้งก่อนหน้า กับ การเลือกครั้งปัจจุบัน
(ค่าสัมบูรณ์ของ จำนวนอำเภอในจังหวัดที่เลือกในครั้งก่อน - จำนวนอำเภอในจังหวัดที่เลือกปัจจุบัน)

ครั้งสอง เพื่อเพิ่มคอนโทรลเข้า page จำนวนรอบ = จำนวนของสมาชิกใน Category ระดับที่2 (จำนวนอำเภอทั้งหมดในจังหวัดที่เลือกในปัจจุบัน)

ทีนี้ก็คำนวนคร่าวๆ เอาครับว่า งานของคุณ มีสมาชิกใน category2 มากน้อยแค่ไหน
ควรจะใช้วิธีนี้หรือเปล่า
9 @R00119
ขอบคุณมากครับผม
10 @R07074
ขอบคุณคุณ yeadram
(R00114) มาก ๆ ชอบ ๆๆๆๆคะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3287s