กระทู้เก่าบอร์ด อ.Yeadram
1,416 6
URL.หัวข้อ /
URL
พบปัญหาหลังจากใช้ select ....From....where
พบปัญหาหลังจากใช้ Select ....From....Where
Private Sub cmbID_Off_Change()
cmbID_SubOff.RowSource = "SELECT Office_Sub.ID_Div, Office_Sub.Division FROM Office_Sub Where Office_Sub.[ID_Off] = " & cmbID_Off.Column(0)
cmbID_SubOff.Requery
End Sub
คือสามารถเลือกรายการใน cmbID_SubOff ได้ตามเงื่อนไขเมื่อทำ record ใหม่ แต่ไม่สามารถถอยกลับไปดูข้อมูลใน record เก่าได้ คือ ที่ cmbID_SubOff จะแสดงเป็นค่าว่างบน Form แต่มีการเก็บข้อมูลไปที่ Table แล้ว ไม่ทราบว่าจะต้องทำยังงัยถึงสามารถมองเห็นค่าใน record เก่าได้บน Form
Private Sub cmbID_Off_Change()
cmbID_SubOff.RowSource = "SELECT Office_Sub.ID_Div, Office_Sub.Division FROM Office_Sub Where Office_Sub.[ID_Off] = " & cmbID_Off.Column(0)
cmbID_SubOff.Requery
End Sub
คือสามารถเลือกรายการใน cmbID_SubOff ได้ตามเงื่อนไขเมื่อทำ record ใหม่ แต่ไม่สามารถถอยกลับไปดูข้อมูลใน record เก่าได้ คือ ที่ cmbID_SubOff จะแสดงเป็นค่าว่างบน Form แต่มีการเก็บข้อมูลไปที่ Table แล้ว ไม่ทราบว่าจะต้องทำยังงัยถึงสามารถมองเห็นค่าใน record เก่าได้บน Form
6 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R14866
test reply
3 @R14868
combo ชื่อ cmbID_Off
- กำหนด rowsource type เป็น Table ชื่อ Office_Main (ID_Off, NameOff)
- กำหนดจำนวนคอลัมภ์ เป็น 2
- กำหนดความกว้างคอลัมภ์ เป็น 0;10 (มองเห็นเฉพาะชื่อหน่วยงานหลัก แต่เก็บข้อมูลรหัสหน่วยงานหลัก)
- กำหนด even on change ดังนี้
Private Sub cmbID_Off_Change()
cmbID_SubOff.RowSource = "SELECT Office_Sub.ID_Div, Office_Sub.Division FROM Office_Sub Where Office_Sub.[ID_Off] = " & cmbID_Off.Column(0)
cmbID_SubOff.Requery
End Sub
เพื่อให้เมื่อเลือกรหัสหน่วยงานหลักแล้ว เวลาไปเลือกรหัสหน่วยงานย่อย จะได้ดึงข้อมูลเฉพาะหน่วยงานย่อยที่อยู่ภายใต้หน่วยงานหลักค่ะ
combo ชื่อ cmbID_SubOff เป็นหน่วยงานย่อยภายใต้หน่วยงานหลัก
- กำหนด rowsource type เป็น Table ชื่อ Office_Sub (ID_Off, ID_Div,Division)
- กำหนดจำนวนคอลัมภ์ เป็น 3
- กำหนดความกว้างคอลัมภ์ เป็น 0cm;8cm;0cm
ซึ่งเมื่อทำรายการใหม่จะสามารถใช้ combo เลือกหน่วยงานย่อยได้ตามที่กำหนด แต่เมื่อย้อยกลับไปดู record ก่อนหน้า ปรากฎว่ามันไม่แสดงค่าที่ combo หน่วยงานย่อย แต่เมื่อไปดูที่ Table ก็พบว่ามีการจัดเก็บค่าไว้แล้ว
ไม่ทราบว่าข้อมูลเท่านี้เพียงพอไหมคะ
- กำหนด rowsource type เป็น Table ชื่อ Office_Main (ID_Off, NameOff)
- กำหนดจำนวนคอลัมภ์ เป็น 2
- กำหนดความกว้างคอลัมภ์ เป็น 0;10 (มองเห็นเฉพาะชื่อหน่วยงานหลัก แต่เก็บข้อมูลรหัสหน่วยงานหลัก)
- กำหนด even on change ดังนี้
Private Sub cmbID_Off_Change()
cmbID_SubOff.RowSource = "SELECT Office_Sub.ID_Div, Office_Sub.Division FROM Office_Sub Where Office_Sub.[ID_Off] = " & cmbID_Off.Column(0)
cmbID_SubOff.Requery
End Sub
เพื่อให้เมื่อเลือกรหัสหน่วยงานหลักแล้ว เวลาไปเลือกรหัสหน่วยงานย่อย จะได้ดึงข้อมูลเฉพาะหน่วยงานย่อยที่อยู่ภายใต้หน่วยงานหลักค่ะ
combo ชื่อ cmbID_SubOff เป็นหน่วยงานย่อยภายใต้หน่วยงานหลัก
- กำหนด rowsource type เป็น Table ชื่อ Office_Sub (ID_Off, ID_Div,Division)
- กำหนดจำนวนคอลัมภ์ เป็น 3
- กำหนดความกว้างคอลัมภ์ เป็น 0cm;8cm;0cm
ซึ่งเมื่อทำรายการใหม่จะสามารถใช้ combo เลือกหน่วยงานย่อยได้ตามที่กำหนด แต่เมื่อย้อยกลับไปดู record ก่อนหน้า ปรากฎว่ามันไม่แสดงค่าที่ combo หน่วยงานย่อย แต่เมื่อไปดูที่ Table ก็พบว่ามีการจัดเก็บค่าไว้แล้ว
ไม่ทราบว่าข้อมูลเท่านี้เพียงพอไหมคะ
4 @R14875
เดาว่าแสดง Form แบบ Continous ใช่ใหมครับ
และวาง ทั้ง2 combo ไว้ใน detail
ทีนี้เวลาให้ Combo ที่ 2 อ้าง where ถึงข้อมูล combo ที่ 1
ถ้า where แล้วไม่มีข้อมูล combo ก็จะแสดงค่าว่าง คือที่จริงมีข้อมูล แต่ด้วยลักษณะของ combo จะแสดงข้อมูลตาม row source เมื่อมีไม่ตรงกันก็แสดงไม่ได้
ทางแก้ที่(น่าจะ)ง่ายที่สุดคือ แยกการบันทึกข้อมูล(add/edit) ออกจากการแสดงผล
โดยที่ส่วนแสดงผลใช้ให้ query เชื่อมข้อมูลที่ต้องการแสดงให้เรียบร้อย
ส่วนการบันทึกข้อมูลก็สามารถใช้ combo เหมือนเดิมได้
และวาง ทั้ง2 combo ไว้ใน detail
ทีนี้เวลาให้ Combo ที่ 2 อ้าง where ถึงข้อมูล combo ที่ 1
ถ้า where แล้วไม่มีข้อมูล combo ก็จะแสดงค่าว่าง คือที่จริงมีข้อมูล แต่ด้วยลักษณะของ combo จะแสดงข้อมูลตาม row source เมื่อมีไม่ตรงกันก็แสดงไม่ได้
ทางแก้ที่(น่าจะ)ง่ายที่สุดคือ แยกการบันทึกข้อมูล(add/edit) ออกจากการแสดงผล
โดยที่ส่วนแสดงผลใช้ให้ query เชื่อมข้อมูลที่ต้องการแสดงให้เรียบร้อย
ส่วนการบันทึกข้อมูลก็สามารถใช้ combo เหมือนเดิมได้
5 @R14917
เรียนอาจารย์ PichaiTC
ก่อนอื่นต้องขอโทษด้วยค่ะ ที่หายไปหลายวัน แต่ก็พยายาม reply หลายครั้งแล้ว เมื่อกดปุ่ม Post ทุกครั้ง ระบบก็จะกลับไปที่หน้าเดิม
วันนี้ก็ลุ้นอีกครั้งว่าจะ reply สำเร็จหรือไม่
คืออยากทราบว่าข้อมูลที่ให้ไว้ เพียงพอให้อาจารย์วิเคราะห์หรือไม่ ถ้าไม่พอต้องการข้อมูลอะไรเพิ่มบ้าว
ส่วนการแยกการบันทึกข้อมูลที่อาจารย์ว่า ต้องทำอย่างไรบ้างคะ พอจะอธิบายคร่าวได้หรือไม่ ไม่เคยทำแบบแยกมาก่อนเลยค่ะ
ขอบคุณมากค่ะ
ก่อนอื่นต้องขอโทษด้วยค่ะ ที่หายไปหลายวัน แต่ก็พยายาม reply หลายครั้งแล้ว เมื่อกดปุ่ม Post ทุกครั้ง ระบบก็จะกลับไปที่หน้าเดิม
วันนี้ก็ลุ้นอีกครั้งว่าจะ reply สำเร็จหรือไม่
คืออยากทราบว่าข้อมูลที่ให้ไว้ เพียงพอให้อาจารย์วิเคราะห์หรือไม่ ถ้าไม่พอต้องการข้อมูลอะไรเพิ่มบ้าว
ส่วนการแยกการบันทึกข้อมูลที่อาจารย์ว่า ต้องทำอย่างไรบ้างคะ พอจะอธิบายคร่าวได้หรือไม่ ไม่เคยทำแบบแยกมาก่อนเลยค่ะ
ขอบคุณมากค่ะ
6 @R14997
ข้อมูลที่ให้ไม่ตรงประเด็นที่จะทราบต้นเหตุแห่งปัญหา สิางทึ่ต้องการ(เบื้องต้น)ทราบอยู่ในประโยคที่ว่า "ผมเดาว่า..."
ส่วนการแยก ส่วนบันทึกข้อมูลก็คือ
ข้อมูลที่คุณนำมาแสดงเกิดจากการ query มา ซึ่งมันก็จะมีข้อจำกัดในการแสดงผล หรือบันทึกผลบางอย่าง เช่น อาจจะขัดแย้งกับข้อมูลใน combo box - ฉะนั้น ก็ให้มันทำหน้าทึ่แสดงผลอย่างเดียว อย่าให่มันทำหน้าที่ เพิ่ม หรือ แก้ไขข้อมูล
ทีนี้ก็ต้องสร้างส่วนบันทึกข้อมูลขึ้นมาเพื่อทำหน้าที่นั้นแทน
ซึ่งทำได้หลายรูปแบบเช่น
- วาง control อีกหนึ่งชุด ที่ header หรือ footer
- วางใน form ใหม่
โดยจะเชื่อมโยงข้อมูลหรือไม่ ก็แล้วแต่วิธีการที่จะเลือกใช้ (code มากน้อยต่างกันไป)
ส่วนการแยก ส่วนบันทึกข้อมูลก็คือ
ข้อมูลที่คุณนำมาแสดงเกิดจากการ query มา ซึ่งมันก็จะมีข้อจำกัดในการแสดงผล หรือบันทึกผลบางอย่าง เช่น อาจจะขัดแย้งกับข้อมูลใน combo box - ฉะนั้น ก็ให้มันทำหน้าทึ่แสดงผลอย่างเดียว อย่าให่มันทำหน้าที่ เพิ่ม หรือ แก้ไขข้อมูล
ทีนี้ก็ต้องสร้างส่วนบันทึกข้อมูลขึ้นมาเพื่อทำหน้าที่นั้นแทน
ซึ่งทำได้หลายรูปแบบเช่น
- วาง control อีกหนึ่งชุด ที่ header หรือ footer
- วางใน form ใหม่
โดยจะเชื่อมโยงข้อมูลหรือไม่ ก็แล้วแต่วิธีการที่จะเลือกใช้ (code มากน้อยต่างกันไป)
Time: 0.3406s
ทางแก้มีหลายทางครับ แต่ขอตอบเมื่อทราบข้อมูลมากกว่านี้ครับ