我有一个与这个非常相似的问题,但我似乎无法解决它!
在 MS Access (2003) 中,我想根据多个字段中的条目搜索表,其中一些字段可能为空。
我有:
- 文本字段
- 日期字段
- 整数字段,和
- 一个备忘录字段(但如果它很困难,我们可能不会费心搜索这个)。
它们准确地映射到一张桌子上。
我正在尝试创建一个查询,当数据输入到这些字段中的一个或多个时,该查询将返回匹配的行,但某些字段可以留空。我该怎么做?
类似链接问题上的查询适用于文本字段,但我该如何处理数字字段、日期字段(甚至可能是备注字段)?
举一个清晰的例子,以下代码块适用于 TextField1,但不适用于 NumberField1:
PARAMETERS [Forms]![SearchForm]![FilterTextField1] Text ( 255 ), [Forms]![SearchForm]![FilterNumberField1] Text ( 255 );
SELECT Table1.[TextField1], Table1.[NumberField1], Table1.[TextField2], Table1.[TextField3], Table1.[DateField1], Table1.[DateField2], Table1.[DateField3]
FROM Table1
WHERE (Len([Forms]![SearchForm]![FilterTextField1] & '')=0 OR Table1.[TextField1] Like '*' & [Forms]![SearchForm]![FilterTextField1] & '*') AND (Len([Forms]![SearchForm]![FilterNumberField1] & '')=0 OR Table1.[NumberField1] Like '*' & [Forms]![SearchForm]![FilterNumberField1] & '*');
我希望你能帮忙。我确定我遗漏了一些非常明显的东西,但出于某种原因,我的大脑此刻感觉它正在从我的耳朵里漏出来。
谢谢!
如果需要,这是相关实体的基本设计:
表格1
- SomePrimaryKeyWeDontCareAboutRightNow
- 文本字段1
- 文本字段2
- 文本字段3
- 数字字段1
- 日期字段1
- 日期字段2
- 日期字段3
- 备忘录字段1
搜索表格
- 过滤器文本字段1
- 过滤器文本字段2
- FilterTextField3
- 过滤器编号字段1
- 筛选日期字段1
- 过滤日期字段2
- 过滤日期字段3
- 过滤备忘录字段1