访问 VBA 根据日期字段过滤组合框列表
Access VBA Filtering a combo box list based on Date field
这是我用来过滤 EquipmentID1 组合框的代码行:
EquipmentID1.RowSource = "SELECT tblEquipment.Equipment, tblEquipment.UnavailableFrom FROM tblEquipment WHERE tblEquipment.UnavailableFrom >= " & Me!EndDate & " OR tblEquipment.UnavailableFrom Is Null;"
UnavailableFrom 是 tblEquipment table 中的一个 date/time 字段,它可以为空。但是 RowSource 似乎根本不起作用。但是,当我在 OR 之后删除零件时它确实有效,但随后它会忽略具有空白 UnavailableFrom 字段的设备...帮助!谢谢!
我的猜测是您只需要引用您尝试使用的日期。 Access SQL 中的日期需要用 #
字符引用。试试这个:
EquipmentID1.RowSource = _
"SELECT tblEquipment.Equipment, tblEquipment.UnavailableFrom " & _
"FROM tblEquipment " & _
"WHERE tblEquipment.UnavailableFrom >= #" & Me!EndDate & "# " & _
"OR tblEquipment.UnavailableFrom Is Null;"
如果在非美国环境中操作,您还必须强制设置日期表达式字符串的格式:
EquipmentID1.RowSource = _
"SELECT tblEquipment.Equipment, tblEquipment.UnavailableFrom " & _
"FROM tblEquipment " & _
"WHERE tblEquipment.UnavailableFrom >= #" & Format(Me!EndDate, "yyyy\/mm\/dd") & "# " & _
"OR tblEquipment.UnavailableFrom Is Null;"
这是我用来过滤 EquipmentID1 组合框的代码行:
EquipmentID1.RowSource = "SELECT tblEquipment.Equipment, tblEquipment.UnavailableFrom FROM tblEquipment WHERE tblEquipment.UnavailableFrom >= " & Me!EndDate & " OR tblEquipment.UnavailableFrom Is Null;"
UnavailableFrom 是 tblEquipment table 中的一个 date/time 字段,它可以为空。但是 RowSource 似乎根本不起作用。但是,当我在 OR 之后删除零件时它确实有效,但随后它会忽略具有空白 UnavailableFrom 字段的设备...帮助!谢谢!
我的猜测是您只需要引用您尝试使用的日期。 Access SQL 中的日期需要用 #
字符引用。试试这个:
EquipmentID1.RowSource = _
"SELECT tblEquipment.Equipment, tblEquipment.UnavailableFrom " & _
"FROM tblEquipment " & _
"WHERE tblEquipment.UnavailableFrom >= #" & Me!EndDate & "# " & _
"OR tblEquipment.UnavailableFrom Is Null;"
如果在非美国环境中操作,您还必须强制设置日期表达式字符串的格式:
EquipmentID1.RowSource = _
"SELECT tblEquipment.Equipment, tblEquipment.UnavailableFrom " & _
"FROM tblEquipment " & _
"WHERE tblEquipment.UnavailableFrom >= #" & Format(Me!EndDate, "yyyy\/mm\/dd") & "# " & _
"OR tblEquipment.UnavailableFrom Is Null;"