กระทู้เก่าบอร์ด อ.Yeadram
895 8
URL.หัวข้อ /
URL
รบกวนถาม คำสั่งคิวรี่ข้อมูลให้ออกมาทั้งหมดครับ
คือตอนนี้ผมใช้คำสั่งแบบนี้อยู่ครับ ตรงช่อง กฏเกณฑ์ ในรีพอร์ตครับ
([Forms]![FMaindata]![Combo116])
คือมันจะคิวรี่เฉพาะค่าที่แสดงในช่อง Combo116 ออกมาเท่านั้น
ในช่อง Combo116 จะมีข้อความเช่น
ซื้อ
ขาย
แลกเปลี่ยน
(ทั้งหมด)
มันก็จะดึงข้อมูลที่เราเลือก
แต่ถ้าผมต้องการให้มันดึงทั้งหมดละครับ จะทำยังไงครับผม
รบกวนท่านด้วยครับ
([Forms]![FMaindata]![Combo116])
คือมันจะคิวรี่เฉพาะค่าที่แสดงในช่อง Combo116 ออกมาเท่านั้น
ในช่อง Combo116 จะมีข้อความเช่น
ซื้อ
ขาย
แลกเปลี่ยน
(ทั้งหมด)
มันก็จะดึงข้อมูลที่เราเลือก
แต่ถ้าผมต้องการให้มันดึงทั้งหมดละครับ จะทำยังไงครับผม
รบกวนท่านด้วยครับ
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R22593
เพิ่มอีกคอลัมน์ในคิวรี่ โดยให้บรรทัด Field เป็น [Forms]![FMaindata]![Combo116] และบรรทัด Or เป็น "(ทั้งหมด)" ครับ
2 @R22594
ขอบคุณมากๆครับ แต่มันไม่ออกครับผม
และผมลองเปลี่ยนจาก ทั้งหมดเป็น Is Null ก็ไม่ออกเหมือนกันครับ
คือกะว่าให้ปล่อยว่างไว้ ให้เป็นการดึงข้อมูลทั้งหมดแทน สรุปไม่ออกทั้งสองอย่างเลยครับผม
และผมลองเปลี่ยนจาก ทั้งหมดเป็น Is Null ก็ไม่ออกเหมือนกันครับ
คือกะว่าให้ปล่อยว่างไว้ ให้เป็นการดึงข้อมูลทั้งหมดแทน สรุปไม่ออกทั้งสองอย่างเลยครับผม

3 @R22595
ได้แล้วครับผม มันต้องปิดโปรแกรมแล้วเปิดใหม่ ก็งงตั้งนานครับ
แต่มันจะมีปัญหาตรงที่ทำ combo สองอันครับ มันไม่ยอมครับผม
ผมทำตรงไหนผิดหรือเปล่าครับ
ตรง Expr:1 มันเอาออกไม่ได้ด้วยครับ
แต่มันจะมีปัญหาตรงที่ทำ combo สองอันครับ มันไม่ยอมครับผม
ผมทำตรงไหนผิดหรือเปล่าครับ

ตรง Expr:1 มันเอาออกไม่ได้ด้วยครับ
4 @R22596
คราวนี้ผมแก้ได้เหมือนกันละครับ
แต่มันไม่ออกครับเช่น
ผมจะมีช่องเลือกช่วงวันที่ก่อน ผมก็เลือกเรียบร้อย
combo116 เลือก ซื้อ
combo117 เลือก หมวด1
แบบนี้ออกครับ
แต่ถ้า
combo116 เลือก ซื้อ
combo117 เลือก ทั้งหมด
แบบนี้ไม่ออกครับ คือจะให้มันแสดงทั้งหมดของซื้อจากช่วงวันที่ที่เลือกครับ
ถ้า combo117 เลือก ตัวเลือกของมันจะออกนะครับ ถ้าจะเอาทั้งหมดไม่ออกครับผม
แต่มันไม่ออกครับเช่น
ผมจะมีช่องเลือกช่วงวันที่ก่อน ผมก็เลือกเรียบร้อย
combo116 เลือก ซื้อ
combo117 เลือก หมวด1
แบบนี้ออกครับ
แต่ถ้า
combo116 เลือก ซื้อ
combo117 เลือก ทั้งหมด
แบบนี้ไม่ออกครับ คือจะให้มันแสดงทั้งหมดของซื้อจากช่วงวันที่ที่เลือกครับ
ถ้า combo117 เลือก ตัวเลือกของมันจะออกนะครับ ถ้าจะเอาทั้งหมดไม่ออกครับผม

5 @R22598
ตกลงคำที่คุณใช้คืออันไหน ทั้งหมด, (ทั้งหมด), ("ทั้งหมด") หรืออื่นๆ ?
ไม่ว่าจะใช้คำอะไร ในบรรทัด Or ให้ใส่ double quote ครอบ และถ้าคำนั้นมี double quote อยู่แล้ว ก็ให้แทน double quote จากตัวอักษรเดียวเป็นสองตัวอักษร เช่น ("ทั้งหมด") จะกลายเป็น "(""ทั้งหมด"")"
แต่ถ้ามี 2 เงื่อนไขทั้ง branch และ dept การแสดงก็จะซับซ้อนขึ้นไปอีก ผมว่าควรสร้าง SQL Statement ใน SQL View ของคิวรี่ จะดูง่ายกว่ามาสร้างใน Design View มากครับ
ไม่ว่าจะใช้คำอะไร ในบรรทัด Or ให้ใส่ double quote ครอบ และถ้าคำนั้นมี double quote อยู่แล้ว ก็ให้แทน double quote จากตัวอักษรเดียวเป็นสองตัวอักษร เช่น ("ทั้งหมด") จะกลายเป็น "(""ทั้งหมด"")"
แต่ถ้ามี 2 เงื่อนไขทั้ง branch และ dept การแสดงก็จะซับซ้อนขึ้นไปอีก ผมว่าควรสร้าง SQL Statement ใน SQL View ของคิวรี่ จะดูง่ายกว่ามาสร้างใน Design View มากครับ
6 @R22599
เพิ่มเติม : ถ้าสร้างใน SQL View แล้ว ระวังอย่ากลับมาใน Design View ***และ*** บันทึกคิวรี่นะครับ เพราะ Access จะแปลง SQL Statement ใน SQL View ให้อยู่ในฟอร์แมทของ Design View ซึ่งในกรณีเช็คด้วยสองเงื่อนไขของคุณนี้ จะทำให้เห็นแล้วมึนเลยว่าทำไมถึงแสดง Design View ออกมาอย่างนั้น (แม้ว่าจะสมมูลกันก็ตาม) และแม้จะกลับไป SQL View อีกที SQL Statement ก็จะเปลี่ยนไปตาม Design View เรียบร้อยแล้ว เปลี่ยนกลับมาเหมือนเดิมไม่ได้ เราต้องป้อนใหม่เท่านั้นครับ
7 @R22600
เพิ่มเติม 2 :
สมมุติให้
T แทน TmaindataList
fb แทน TMain_code_branch
fd แทน TMain_code_dept
c6 แทน [Forms]![...]!combo116
c7 แทน [Forms]![...]!combo117
ALL แทนคำที่ใช้สำหรับเลือกทั้งหมด
SQL View ก็จะเป็น
select fb, fd from T where ((fb = c6) or (c6 = "ALL")) and ((fd = c7) or (c7 = "ALL"))
แนะนำว่าให้เขียน SQL statement นี้ใน notepad ก่อน แล้วค่อยก๊อปไปลง SQL View จะได้มีสำรองอีกชุดครับ
สมมุติให้
T แทน TmaindataList
fb แทน TMain_code_branch
fd แทน TMain_code_dept
c6 แทน [Forms]![...]!combo116
c7 แทน [Forms]![...]!combo117
ALL แทนคำที่ใช้สำหรับเลือกทั้งหมด
SQL View ก็จะเป็น
select fb, fd from T where ((fb = c6) or (c6 = "ALL")) and ((fd = c7) or (c7 = "ALL"))
แนะนำว่าให้เขียน SQL statement นี้ใน notepad ก่อน แล้วค่อยก๊อปไปลง SQL View จะได้มีสำรองอีกชุดครับ
8 @R22601
ขอบคุณคุณสันติสุข มากๆครับที่ให้ความรู้เพิ่มเติม
ผมจะนำไปปรับใช้ครับผม
ผมจะนำไปปรับใช้ครับผม
Time: 0.4230s