我有一个表格可以跟踪测试中遗漏的问题。它有一个链接的子表格,用于跟踪参加考试的人错过的个人问题。我想,当我输入一个遗漏的问题编号时,[QuestionNumber] 使表单预填从问题编号表 (tblTestQuestionsTitles) 中所需的再培训 [RetrainAssigned]
在子表单的问题编号字段的更新后属性上,我有以下代码:
Dim RLAAssignedX As String
RLAAssignedX = DLookup("[AssocRLA]", "tblTestQuestionsTitles", ("[QuestionNumber] = " & Me.QuestionNumber And "[AssessmentTitle] = " & Me.Parent!Title))
Me.RLAAssigned = RLAAssignedX
我收到错误 13 - 数据表达式中的类型不匹配,并且调试突出显示了整行。QuestionNumber 和 AssessmentTitle 是所有表中的数字字段。Retraining Assigned 是一个文本字段 - 但这是 dlookup 的输出而不是标准。我能想到的就是输出和标准也必须匹配,但这与我在这里和谷歌上尝试查找的内容不匹配。
由于您正在引用活动表单持有的值,因此您应该能够直接在DLookup
表达式的选择标准内引用此类字段的值,而无需串联,也无需考虑要过滤的字段的数据类型,例如:
DLookup("[AssocRLA]", "tblTestQuestionsTitles", "[QuestionNumber] = [Forms]![YourParentFormName]![YourSubFormName].Form![QuestionNumber] AND [AssessmentTitle] = [Forms]![YourParentFormName]![Title]")
这种方法还避免了 SQL 注入的可能性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句