ลองแปลงให้เป็น date แบบนี้ก็ไม่ได้ครับ ฟ้อง error ว่า ชนิดข้อมูลไม่ตรงกันในนิพจน์เกณฑ์ Code (VB.NET)
Dim Statement As String = " SELECT * FROM tblTestDate WHERE tblTestDate.[_Dates] = '" & DateTime.Parse(dtpSearch.Value.Date).ToString("dd/MM/yyyy") & "'"
Dim Statement As String = " SELECT * FROM tblTestDate WHERE tblTestDate.[_Dates] = #" & DateTime.Parse(dtpSearch.Value.Date).ToString("dd/MM/yyyy") & "# "
เป็นไปได้มั้ยครับว่า ตอนเก็บใน db เก็บเป็น ค.ศ. ตั้งแต่แรกอยู่แล้ว แต่เพราะเครื่่องที่ใช้ตั้งค่า region เป็น พ.ศ. ทำให้หน้าตาใน db แสดงเป็น พ.ศ. แต่จริงๆ ค่าเป็น ค.ศ. เลยทำให้เสริชหาแบบ พ.ศ. ไม่เจอ ถ้าเป็นกรณีนี้ควรแก้อย่าง่ไรครับ
ผมบอกท่านไปแล้วว่า MS Access ถ้า Select format จะเป็น เดือน/วัน/ปี
ลองเปลี่ยนตามนี้ดูครับ Code (VB.NET)
Dim Statement As String = " SELECT * FROM tblTestDate WHERE tblTestDate.[_Dates] = #" & DateTime.Parse(dtpSearch.Value.Date).ToString("MM/dd/yyyy") & "# "
แก้ไขได้แล้วครับ นำเอาคำแนะนำของคุณ K มาแก้ไข ตามนี้ครับ
Code (VB.NET)
Dim Statement As String = " SELECT * FROM tblTestDate WHERE tblTestDate.[_Dates] = #" & dtpSearch.Value.Date.ToString("MM/dd/yyyy", CultureInfo.CreateSpecificCulture("en-US")) & "# "