我有一个搜索表单,该表单运行查询并在搜索表单中填充一个子表单。查询并填充子表单后,您可以单击特定的记录ID,以打开随后的特定表单,并过滤到先前在子表单中单击的记录KEY(“ ID”)。
当“ ID”键字段为数字类型格式时,此代码非常有用:
DoCmd.OpenForm "FormToOpen", , , "ID = " & Me.ID, acFormEdit, acWindowNormal
但是,在查询构建子表单时,它不会考虑前导零,即,如果记录ID为“ 0123456”,并且用户输入“ 0123456”,则查询不会返回任何结果。如果输入“ 123456”,它将返回记录。
所以我切换到ShortText数据类型,查询效果很好!您可以输入“ 0123456”或“ 123456”并返回记录...问题是打开的后续表单代码随后会以短文本类型中断。
这是我的查询条件:
Like "*" & [Forms]![FORMNAME]![txtID] & "*"
我相信我可以更改表单打开代码,以便它可以识别文本类型而不是数字类型,例如:
ID = " & "Me.ID"
或者,更改查询条件会更好吗? TYIA!
更新 如果它是文本数据类型,则效果很好:DoCmd.OpenForm“ SecondFormName”,,,“ FieldName ='”&Me.ControlName&“'”'(注意,这是双引号,单引号和双引号结尾)我在这里找到了它:baldyweb.com/wherecondition.htm –