Access 2010 ใช้ Dlookup โดยเปรียบเทียบจากวันที่

สิ่งที่ต้องการคือ
ดึงบิลที่ออกล่าสุด (นับจาก Bill_Date) มาแสดง
ผมใช้ DLast("Bill_ID") แล้ว มันแสดงไม่ถูกต้อง

ผมจึงจะใช้วิธี
1. ใช้ Dmax("Bill_Date") เพื่อเอาวันที่ล่าสุด
2. จากนั้นใช้ DLookup เอาวันที่ล่าสุด จากข้อ 1. มาเทียบเพื่อดึง Bill_ID

โค้ดจริงๆ คือ

[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้

ปัญหาคือตรง LastBID = DLookup("Bill_ID", "Bill", "Bill_Date =" & MaxBillDate)
มันไม่สามารถเปรียบเทียบและดึงค่า Bill_ID ได้ ซึ่งผมคิดว่ารูปแบบมันผิดแน่ๆ
ใครพอจะทราบรูปแบบรบกวนแนะนำด้วยครับ

รูปแบบพี่ผมลองจากการหาใน google
LastBID = DLookup("Bill_ID", "Bill", "Bill_Date = #" & MaxBillDate & "#") จะ error 94 Invalid use of Null

ขอบคุณครับ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
แก้ไขโดยใช้วิธีนี้
LastBID = DLookup("Bill_ID", "Bill", "Bill_Date =" & CDbl(MaxBillDate))

คือแปลง MaxBillDate เป็น Double ซะเลย ปัญหาคือการใช้ #Date# มันมีปัญหาของ International Date/Time ของแต่ละประเทศไม่เหมือนกัน พอเราใช้ "#" & Date & "#" มันจะมีปัญหาตลอด เพราะการใช้ & จะเป็นการเชื่อมเวลาแบบ String ทำให้มันเป็น String แบบไทย หรือแบบที่ตั้งไว้ใน Windows ไม่ใช้แบบมาตรฐานที่ใช้กับ "#Date#" ได้ (#m/d/yyyy#)
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่