如何正确使用 DLookup 函数返回字符串?
Posted
技术标签:
【中文标题】如何正确使用 DLookup 函数返回字符串?【英文标题】:How can i properly use DLookup function to return strings? 【发布时间】:2021-05-25 20:15:58 【问题描述】:Dim gen as String
gen = DLookup("gender", "Patient", "ID_patient='" & Me.ComboPatients.Value & "'")
我得到错误匹配类型数据的错误运行时 3464,我不知道为什么?
【问题讨论】:
患者编号是数字吗?如果是这样,请不要将其放在引号之间。 ID_patient 是一个整数,我要写什么? 删除 Me.ComboPatients.Value 周围的单引号。我不知道将字符串连接在一起的 vba 语法,但您希望运行时值评估为(例如,患者 ID 为 10):“ID_patient = 10”。注意 10 周围没有单引号。 谢谢!我解决了它,正确的符号是: gen = DLookup("gender", "Patient", "ID_patient = " & Me.ComboPatients.Value) 没有你建议的单引号 另外,我还有一个问题,我在多个标准方面遇到了一些问题,例如这个:lower_limit = DLookup("lower_limit", "Threshold", "age= 'young (0-30 )'" 和 "ID_par= " & Me.ComboPatients.Value 和 "gender= 'male'")。符号对吗? 【参考方案1】:如果 ID_patient 是数字类型字段,则会发生数据不匹配错误。不要将撇号分隔符用于数字类型,仅使用文本类型字段。使用 # 作为日期/时间类型字段参数。
根据您的评论(应该已编辑问题或开始新问题),连接不正确。 AND
必须包含在文字字符串部分中 - 不会被涂成蓝色。考虑:
"age='young (0-30)' AND ID_par=" & Me.ComboPatients & " AND gender='male'"
或重新排列:
"age='young (0-30)' AND gender='male' AND ID_par=" & Me.ComboPatients
【讨论】:
谢谢!我用你的符号解决了这个问题;)。下次我将编辑问题或开始一个新问题。 如果年龄和性别等于变量呢?例如: lower_limit = DLookup ("lower_limit", "Threshold", "age = '" & rangeagein & "' And ID_par = " & ME.ComboPatients & " And gender = '" & gender & "'") 看起来不错。它有效吗?我看到你提出了一个新问题。以上是关于如何正确使用 DLookup 函数返回字符串?的主要内容,如果未能解决你的问题,请参考以下文章