กระทู้เก่าบอร์ด อ.Yeadram
        
           1,388   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.6044s
    
      
		
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")