select ข้อมูลออกมาได้ไม่ถูกครับ รบกวนด้วยครับ งง
กระทู้เก่าบอร์ด อ.Yeadram

 1,213   3
URL.หัวข้อ / URL
select ข้อมูลออกมาได้ไม่ถูกครับ รบกวนด้วยครับ งง

" SELECT [TBL-PRICE].id_mat, [TBL-PRICE].id_plant, [TBL-PRICE].price_sdate, [TBL-PRICE].price_edate, [TBL-PRICE].Price FROM [TBL-PRICE]" & _
        "WHERE ((([TBL-PRICE].id_mat)=[id_mat]) AND (([TBL-PRICE].id_plant)=[id_plant]) AND (([TBL-PRICE].price_sdate)<=#" & date2 & "#) AND (([TBL-PRICE].price_edate)>=#" & date2 & "#));"


-หากผมเลือกข้อมูล เช่น 04/04/2554 ข้อมูลแสดง ออกมา
- หากเป็นวันที่ 02/04/2554 จะไม่มีข้อมูลออกมาก จริงต้องมีข้อมูล

รบกวนอาจารย์ด้วยนะครับ

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

1 @R08768
ลืมบอกค่า date2 ครับ
dd1 = CStr(Day(date_m.Value))
mm1 = CStr(month(date_m.Value))
yy1 = CStr(year(date_m.Value) + 543)
dddd = dd1 & "/" & mm1 & "/" & yy1 - 543
date2 = Format(dddd, "DD/MM/YYYY")
2 @R08778
การได้มาซึ่งค่าของ date2
dd1, mm1,yy1 และ dddd ตัวแปรเหล่านี้ไม่ต้องใช้ครับ
ลองใช้แค่นี้ดู
date2=format(date_m, "mm-dd-") & year(date_m)-543
แล้วลองรัน statement ตัวนั้นดูใหม่

ถ้ายังไม่ได้ให้ลองปรับสลับตำแหน่งค่าวันกับเดือนดู
date2=format(date_m, "dd-mm-") & year(date_m)-543

หรือถ้ายังไม่ได้อีก ให้ลองตั้งรูปแบบเป็น เดือนย่อ ก็ได้
date2=format(date_m, "dd-mmm-") & year(date_m)-543


เพราะปัญหาของคุณเกิดจากระบบของคุณ ตั้งค่าวันที่ไม่เป็นสากล ทำให้ statement อ่านค่าผิดพลาด ระหว่าง ค่าของเดือน กับค่าของวัน (มันสับสนว่า เลขใดเป็นเดือน เลขใดเป็นวัน)
ดังนั้นต้องปรับหาดูครับ

รูปแบบที่จะให้ statement ประมวลผลได้แม่นที่สุด เท่าที่ประสบการณ์ของผมเคยประสบมา คือ #yyyy-mm-dd# (ใช้เครื่องหมายขีด แทนเครื่องหมายทับ, ใช้ปี 4 หลักเสมอ, เรียงจากหน่วยใหญ่ไปหาหน่วยย่อย)
3 @R08781
ขอบคุณมากครับ ได้แล้วครับ date2=format(date_m, "mm-dd-") & year(date_m)-543 สุดยอดครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3364s