กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
322 5
URL.หัวข้อ /
URL
อยากทราบการทำงาน Combo Box
มีข้อมูลดังนี้
field1 field2 field3
AFC I C
AFC E C
AFC E O
RST I C
RST E C
RST E C
SIG I C
SIG E O
SIG E C
ต้องการทำ Combo Box ใน MainForm ทั้งหมด 3 ชนิดตามField ที่ที่กล่าวมา เช่น field1 เลือก AFC ก็มีรายการของ AFC และ field2 ก็จะมี แต่ I and E ของข้อมูลที่ AFC มีเท่านั้น
ตอนนี้ทำแบบโดยใช้ Row Source ทำ Select file แล้วบังคับที่ query ของ Criteria ใน Subform แต่พอเวลาเปิด Mainform ขึ้นมา ไม่มี Data Show เลยสักตัว และเวลาเราเลือก ก็ต้องเลือกให้หมด 3 Combo Box แลือกแค่ 1 Combo Box Data ก็ไม่ Show ขึ้น
อาจารย์พอจะเข้าใจหรือเปล่าค่ะ และจะขอคำแนะนำเรื่องการเขียน Code จากปัญหาดังกล่าวด้วยค่ะ ที่เป็นแบบที่ถูกต้องของอาจารย์ค่ะ ขอบคุณมากค่ะ
field1 field2 field3
AFC I C
AFC E C
AFC E O
RST I C
RST E C
RST E C
SIG I C
SIG E O
SIG E C
ต้องการทำ Combo Box ใน MainForm ทั้งหมด 3 ชนิดตามField ที่ที่กล่าวมา เช่น field1 เลือก AFC ก็มีรายการของ AFC และ field2 ก็จะมี แต่ I and E ของข้อมูลที่ AFC มีเท่านั้น
ตอนนี้ทำแบบโดยใช้ Row Source ทำ Select file แล้วบังคับที่ query ของ Criteria ใน Subform แต่พอเวลาเปิด Mainform ขึ้นมา ไม่มี Data Show เลยสักตัว และเวลาเราเลือก ก็ต้องเลือกให้หมด 3 Combo Box แลือกแค่ 1 Combo Box Data ก็ไม่ Show ขึ้น
อาจารย์พอจะเข้าใจหรือเปล่าค่ะ และจะขอคำแนะนำเรื่องการเขียน Code จากปัญหาดังกล่าวด้วยค่ะ ที่เป็นแบบที่ถูกต้องของอาจารย์ค่ะ ขอบคุณมากค่ะ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R01151
วิเคราะห์:
มี
-- Mainform
-- ComboBox(1 To 3)
-- เปิด Mainform แล้ว ไม่มีข้อมูลอะไรเลย
-- ที่ Mainform ระบุ RecordSource (แหล่งข้อมูล) แล้วหรือไม่ (1)
-- ถ้าทำตาม (1) แล้ว ที่ ComboBox ทั้ง 3 นั้น ได้ระบุ ControlSource แล้วหรือไม่ (2)
-- ถ้าทำตาม (1) และ (2) แล้ว เมื่อเลือก ComboBox1 แล้วต้องการให้ ComboBox ที่เหลือ
เปลี่ยนตามด้วย ต้องเขียนรหัสช่วยแล้วละนะ เป็นต้นว่า
... Private Sub ComboBox1_Click()
... DoCmd.FindRecord [ComBoBox1]
... End Sub
-- การกำหนดแหล่งข้อมูล (RowSource) ของ ComboBox เช่น
... ComboBox1 => "SELECT DISTINCT MyTable.Field1 FROM MyTable;"
... ComboBox2 => "SELECT DISTINCT MyTable.Field2 FROM MyTable;"
... ComboBox3 => "SELECT DISTINCT MyTable.Field3 FROM MyTable;"
-- DISTINCT เป็นอย่าง keyword ที่บอกให้ access ทำ Query ข้อมูลโดยเลือกมาเฉพาะแถวข้อมูลเดียวเท่านั้น ถ้ามีข้อมูลเหล่านั้นซ้ำกัน เหมือนรวมข้อมูลเข้าเป็นหนึ่ง (unicque)
-- เมื่อทำดังนี้แล้ว คาดว่าน่าที่จะทำงานได้ผลนะ และน่าจะตรงกับความต้องการ
-- ออกตัวว่า ข้าจ้าวบ่ใจ้ปรมาจ๋ารย์เน้อ ตะวามีข้อพิดพลาดประก๋ารใด๋ก่จั้ง ข้าจ้าวก่ขอสูมาเต๊อะ
2 @R01155
ก่อนอื่นขอขอบคุณมากเลยนะค่ะ และขอตอบคุณ เอื้องเหนือค่ะ
(1) ไม่ได้ระบุที่ mainform แต่จะไประบุที่ subform
(2) ไม่ได้ระบุ เพราะดึงข้อมูลมาจาก Row Rource
*.* แล้วถ้าทำตามที่คุณเอื้องหลวงบอกทั้ง 1และ 2 และรหัสที่ว่า คือรหัสอะไรหรือค่ะ ไม่ค่อยจะเข้าใจเท่าไรนัก
3 @R01156
อาจารย์ค่ะรบกวนหน่อยนะนะค่ะ
4 @R01157
อาจารย์ค่ะ ขอบคุณค่ะ ทำได้แล้ว เมื่อวานใจร้อนไปหน่อยตอนนี้หัวสมองโป่งๆ เลยคิดออกว่าเคยทำไว้อย่างไร ต้องขอโทษด้วยจริงๆ
5 @R01160
ผมว่าคุณฐิติมาภรณ์ พอจะส่งFile มาที่ codebank@maildozy.com ได้ไหมครับ หรือที่ sripimai@maildozy.com จะได้เห็นครับว่าเกิดอะไรขึ้น
Time: 0.1402s