【发布时间】:2018-03-28 15:44:07
【问题描述】:
大家早上好, 这应该是一个简单的修复,我已经四处搜索并找到了看起来它们应该工作的东西,但它们似乎没有......
所以 - 这是一个简单的“打开此表单并仅显示该日期的记录”功能,您猜对了,日期格式的好美国是问题,无论我尝试哪种方式都无法解决问题问题...
所以 - 这是表单代码...
DoCmd.OpenForm "frm_Prod_Runs_Edit_List", , , "# " & NEWDATE & " #"
查找 NEWDATE...
我从几个组合框(CBOYear 和 CBOMonth)和一个表示当月日期的字段中删除日期组件(数据将采用“1st”或“2nd”等格式......)
我连接各个组件...
NEWDATE = DateSerial(TempYear, TempMonth, TempDate)
一个 msgbox NEWDATE 弹出窗口会产生正确的数据(即 1/3/18)
但是当我运行代码时,它要么选择所有内容,要么什么都不选择...该函数唯一起作用的时间是当日字段为 13 或更高(即 13/3/18)时 - 因此它可以确定正确的格式一起工作。
我确信正确的答案已经在某处 - 但是正确的问题可能是我没想到要搜索的东西。
我曾尝试在表单打开代码之前和之内使用 DATEVALUE()。我试图对美国格式进行硬编码,看看是否可行......
DoCmd.OpenForm "frm_Prod_Runs_Edit_List", , , "#3/1/18#"
不好...显示所有记录 - 如果我对 AU 格式 #1/3/18# 进行硬编码,则相同
我的电脑设置为 AU 格式 dd/mm/yy
所以...在调用 Openform 之前,我需要使用哪个函数将 AU 日期字符串转换为美国日期字符串,以便打开正确的记录?或者有没有更好的方法在 Docmd 行中编写 WHERE 子句来实现这个结果? - 或者我是否需要将我的所有日期字段重置为美国格式并仅在表格上将它们转换回 AU?
感谢您的反馈...
【问题讨论】:
标签: ms-access-2010 where-clause date-formatting