กระทู้เก่าบอร์ด อ.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 จะไม่มีข้อมูลออกมาก จริงต้องมีข้อมูล
รบกวนอาจารย์ด้วยนะครับ
"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
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 หลักเสมอ, เรียงจากหน่วยใหญ่ไปหาหน่วยย่อย)
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 สุดยอดครับ
Time: 0.3364s
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")