สอบถามเรื่องการกดF9ตอนใช้Dlookup
กระทู้เก่าบอร์ด อ.Yeadram

 1,586   5
URL.หัวข้อ / URL
สอบถามเรื่องการกดF9ตอนใช้Dlookup

พอดีผมใช้ ฟังก์ชั่น Dlookup เพื่อดึงของมูลจาก table มาโชว์อะครับมันก็ดึงได้ปกติแหละครับ แต่ มันต้องกด F9 ทุกครั้งที่เราเปลี่ยน Dropdownlist ที่ตั้งไว้อะครับ ค่าที่ดึงมาถึงจะเปลี่ยน ต้องทำยังไงเหรอครับ ถึงจะให้มันเปลี่ยนแบบอัตโนมัต ผมอ่านในเน็ต เขาบอกให้ทำ Macro ที่เป็น sendkey แต่ผมลองทำแล้วมันไม่มี macro นี้อะครับมีแต่ sendobject เวอร์ชันของ MS access เกี่ยวมั้ยครับผมใช้ 2007 ใครรู้ช่วยทีค๊าบบ

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

1 @R15167
หมายถึง ค่าในตัวคอนโทรลประเภท combo box หรือ list box ก็ให้ใช้คำสั่ง Me.ชื่อคอนโทรล.Requery ในเหตุการณ์ After Update ต่อบรรทัดสุดท้ายของโค๊ด หรือหากหมายถึงค่าหลังการใช้ Dlookup แล้วมันไม่ขึ้น (ซึ่งปกติผมว่ามันควรจะขึ้นเลยนะครับหากคุณเขียนโค๊ดลำดับเหตุการณ์ได้ถูกต้อง) ก็ลองใช้คำสั่ง
Me.Recalc
หากไม่ได้ก็ใช้
Me.Refresh
ประมาณนี้ครับ ลองปรับใช้ดู
2 @R15168
ผมเขียน Dlookup ไว้ใน ControlSorce อะครับตามนี้
=DLookUp("Sum([Order-price])","[Order]","[Order-month]=[Combo2]")

พอเลือก combobox เสร็จปุ๊ป ต้องกด F9 1ทีเลขถึงจะขึ้นอะครับ
3 @R15169
ตอนนี้ทำได้แล้วครับ แต่อยากจะสอบถามอีกเรื่องนึงอะครับตามโค๊ดที่เขียนไปผมมี2textbox มี ยอดขาย กับทุนอะครับ ผมจะให้เอามันมา - กันเพื่อหากำไร แต่ติดปัญหาที่บางเดือน มันจะเป็นค่า null ที่ไม่มีการซื้อขายอยู่อะครับ

จะเขียนโค๊ดยังไงให้มัน ขึ้นเป็น 0หากเป็นค่า null หรือขึ้น msgbox ว่าเดือนนี้ไม่มีการซื้อขายอะไรยังงี้อะครับ
4 @R15170
1. เรื่อง F9 เป็นเพราะหลังเหตุการณ์ After Update ของ Combobox คุณไม่ได้สั่งให้ Update Text Box ที่แสดงข้อมูล หากคุณใส่โค๊ด

Text1 = DLookUp("Sum([Order-price])","[Order]","[Order-month]=[Combo2]")

ในเหตุการณ์ After Upadate ของ Combobox ก็ไม่ต้องกด F9 หรือสั่ง Refresh อะไรแล้วครับ

2. ค่า Null ให้เป็น 0 หมายถึงหลังการใช้คำสั่ง Dlookup ใช่หรือเปล่าครับ หากใช่ ก็ใช้ฟังก์ชั่น Nz() ครับ ศึกษาเพิ่มเติมจาก F1 ได้

Nz(DLookUp("Sum([Order-price])","[Order]","[Order-month]=[Combo2]") , 0)

คือ หากค่าเป็น Null ให้เป็นค่า 0 แทน ประมาณนี้ครับ
5 @R15171
ขอขอบพระคุณเป็นอย่างสูงค๊าบบบบบ =/\=
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2818s