รบกวนสอบถาม การแสดงรายงานโดยอิงจากช่วงวันที่ครับ
กระทู้เก่าบอร์ด อ.Yeadram

 3,074   23
URL.หัวข้อ / URL
รบกวนสอบถาม การแสดงรายงานโดยอิงจากช่วงวันที่ครับ

สอบถามผู้รู้ทุกท่านครับ
คือผมอยากให้รายงานที่แสดงออกมา ถูกกรองโดย id สินค้า และ ช่วงวันที่ ซึ่งเลือกโดย combobox ครับ ชื่อ ComboP5v3 และ ComboP5v4 โดยผมเขียน vba ภายใต้ Click Event ของปุ่ม open report ดังนี้ครับ

Private Sub Command319_Click()
DoCmd.OpenReport "order_product", acViewPreview, , "id_product = '" & Me.ComboP5v2 & "'" And "[dayt] Between #" & Me.ComboP5v3 & "# and #" & Me.ComboP5v4 & "#"
End Sub

แต่พอคลิกแล้วปุ่ม open report แล้ว เกิด error 13 Mismath ขึ้น ดังภาพ



โดย dayt คือชื่อของ Date/Time รูปแบบ Short Date
       order_product คือชื่อของรายงาน

รบกวนผู้รู้ทุกท่านด้วยครับ
Thank you & Best regard.

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

1 @R21418
DoCmd.OpenReport "order_product", acViewPreview, , "[id_product] = '" & Me.ComboP5v2 & "' And [dayt] Between #" & Me.ComboP5v3 & "# and #" & Me.ComboP5v4 & "#"
2 @R21419
คุณ ditasilk ครับ ขอบคุณครับ
แต่มันส่งชื่อโรงเรียนแทนที่จะเป็นวันที่ครับ ไม่ทราบว่าไปตั้งให้คอมโบบล๊อกส่งค่าวันที่ ได้ตรงส่วนไหนครับ

ชื่อโรงเรียนเป็นลำดับที่ 1 ส่วนวันที่เป็นลำดับที่ 4 ของ Attribute ครับ


รบกวนด้วยครับ
3 @R21422
นำแหล่งข้อมูล ของ Me.ComboP5v3 และ Me.ComboP5v4

แสดงให้ดูหน่อยครับว่า เอามาจากไหน อย่างไร
4 @R21426
คุณ ditasilk "แหล่งข้อมูล" นี้หมายถึง raw source ของคอมโบบล๊อค ใช่ไหมครับ
5 @R21427
คุณ joe ถ้าผมเดาไม่ผิดตอนที่คุณทำ combo คุณดึง ฟิลด์โรงเรียน แล้วก็วันที่ใช่ไหมครับ แต่ฟิลด์โรงเรียนซ่อนไว้
ถ้าเป็นอย่างที่ผมเข้าใจตอนเขียน code ComboP5v3 กับ ComboP5v4 จะต้องใส่ .column(1) ต่อท้ายด้วยครับ
6 @R21429
ใช่ครับ คุณกิต ผมทำอย่างที่ว่ามาเลยครับ
ดังนั้นผมต้องใส่เป็น ComboP5v4.column(1) สินะครับ เดียวพรุ้งนี้ผมจะลองดูครับ
ขอบคุณมากครับ

ปล.สงสัยครับ 1 ในวงเล็บ column(1) คือการอ้างถึงฟิลด์ลำดับที่สองใน combobox ใช่ไหมครับ โดยนับแบบอาเรย์ 0 คือลำดับที่หนึ่ง หรือเริ่มต้นจากศูนย์
7 @R21436
ใส่ code ดูแล้วครับ ดังนี้

DoCmd.OpenReport "order_product", acViewPreview, , "[id_product] = '" & Me.ComboP5v2 & "' And [dayt] Between #" & Me.ComboP5v3.Column(1) & "# and #" & Me.ComboP5v4.Column(1) & "#"

ผลที่ได้คือรายงาน ไม่แสดงข้อมูลเลยครับตามภาพที่ 1 ครับ

ภาพที่1 รายงานที่กรองทั้งสินค้า และช่วงวันที่


ภาพที่2 รายงานก่อนการกรอง
image-not-found

ภาพที่3 รายงานที่กรองเฉพาะสินค้า (ก่อนที่จะเพิ่มกรองตามช่วงเวลาครับ)
image-not-found

โดยรายงานดึงมาจาก Query ตามภาพครับ
image-not-found
8 @R21437
ขออภัยครับ ภาพที่ 1 กับ 3 ผมใส่ผิดสลับกันครับ
9 @R21441
แสดง rowsource ของ ของ Me.ComboP5v3 และ Me.ComboP5v4 ดูจาก tab DATA แล้วถึงจะบอกได้ครับ

10 @R21442
raw source ครับ

ComboP5v4 ครับ


ComboP5v3 ครับ
11 @R21446
DoCmd.OpenReport "order_product", acViewPreview, , "[id_product] = '" & Me.ComboP5v2 & "' And [dayt] Between #" & Me.ComboP5v3.Column(1) & "# and #" & Me.ComboP5v4.Column(3) & "#"

Me.ComboP5v3.Column(1) เนื่องจาก [dayt] อยู่ใน column ที่ 1 (เวลานับจะเริ่มจาก คอลัมน์ 0,1)

Me.ComboP5v4.Column(3) เนื่องจาก [dayt] อยู่ใน column ที่ 3 (เวลานับจะเริ่มจาก คอลัมน์ 0,1,2,3)
12 @R21447
คุณ ditasilk ลองเปลี่ยนเป็น 3 แล้วครับ แต่เกิด error ขึ้นนะครับ



ผมตั้งชนิดข้อมูลผิดหรือไม่ครับ
13 @R21448
error ขึ้น อย่างไร ครับ
14 @R21449
ลองใส่ เป็น column(3) ทั้ง 2 ตัว

DoCmd.OpenReport "order_product", acViewPreview, , "[id_product] = '" & Me.ComboP5v2 & "' And [dayt] Between #" & Me.ComboP5v3.Column(3) & "# and #" & Me.ComboP5v4.Column(3) & "#"

สงสัย จะเอามาทั้ง ตารางทั้งคู่

ถ้า ยังไม่ได้ ผมขอดู database ครับ
15 @R21450
ทดสอบแล้วขึ้น error แบบเดิมครับ

ให้ส่งไฟล์ไปใช่ไหมครับ ผมพอจะขอเมล์ได้ไหมครับ คุณ ditasilk
16 @R21451
ditasilk@gmail.com
17 @R21452
คุณ ditasilk ส่งไปแล้วครับ

ขอรบกวนด้วยนะครับ

Thank you & Best regard.
18 @R21453
DoCmd.OpenReport "order_product", acViewPreview, , "[id_product] = '" & Me.ComboP5v2 & "' And [dayt] Between CDate('" & Me.ComboP5v3.Column(1) & "') and CDate('" & Me.ComboP5v4.Column(1) & "')"

เปลี่ยนจาก การใช้ # มาใช้ function CDate() แทน ครับ
19 @R21455
ขอบคุณมากจริง ๆ ครับ คุณ ditasilk (ว่าแต่ทำไม่พอใช้ CDate() แล้วถึงทำงานได้ละครับ?)
และขอขอบคุณทุกท่านที่ช่วยเหลือด้วยครับ

ครั้งหน้าพบข้อสงสัย หรือพบปัญหาคงต้องขอรบกวนด้วยครับ
Thank you & Best regard.
20 @R21456
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2730s