来自字符串的布尔结果
Boolean Result from a string
我正在使用 MS Access 并希望将项目存储在 table 中以供审阅,例如:
我将使用以下详细信息(在打开的记录集中)从 table 中收集详细信息:
Field_Review = rst1![Field_NM] & ""
Evaluation = rst1![Eval_TP] & ""
Goal = rst1![Field_Val] & ""
我将使用以下代码从打开的表单中提取值:
strResult = Forms![Main].Form(Field_Review).Value
我想 return 使用类似这样的布尔结果:
blnResult = Goal & Evaluation & strResult
我设置blnResult
:Dim blnResult as Boolean
。
我一直收到错误 "Run-time error '13': Type mismatch."
当我尝试调试时,我注意到我没有 return 想要的布尔值;然而,一个字面值 "APPROVED=APPROVED".
的字符串
任何使评估结果成为普通布尔值的提示都会非常有帮助。
Eval()
或许能满足您的需求。这是一个即时 window 示例。
你的价值观...
Goal = "APPROVED"
Evaluation = "="
strResult = "APPROVED"
当您连接它们时,包括引号以分隔字符串中的文本值。如果您想使用双引号,请将 2 放在您希望在最终字符串中出现的任何位置。但是单引号对我来说更容易...
strExpression = "'" & Goal & "'" & Evaluation & "'" & strResult & "'"
? strExpression
'APPROVED'='APPROVED'
现在计算该表达式并将其存储在您的变量中。您实际上并不需要 CBool()
... 只需 Eval(strExpression)
就足够了 ... 但我将其包含在此处是因为 blnResult
将显示为 True 而不是 -1。两者是相同的数字,但我想避免混淆显示格式。
blnResult = CBool(Eval(strExpression))
? blnResult
True
我正在使用 MS Access 并希望将项目存储在 table 中以供审阅,例如:
我将使用以下详细信息(在打开的记录集中)从 table 中收集详细信息:
Field_Review = rst1![Field_NM] & ""
Evaluation = rst1![Eval_TP] & ""
Goal = rst1![Field_Val] & ""
我将使用以下代码从打开的表单中提取值:
strResult = Forms![Main].Form(Field_Review).Value
我想 return 使用类似这样的布尔结果:
blnResult = Goal & Evaluation & strResult
我设置blnResult
:Dim blnResult as Boolean
。
我一直收到错误 "Run-time error '13': Type mismatch."
当我尝试调试时,我注意到我没有 return 想要的布尔值;然而,一个字面值 "APPROVED=APPROVED".
的字符串任何使评估结果成为普通布尔值的提示都会非常有帮助。
Eval()
或许能满足您的需求。这是一个即时 window 示例。
你的价值观...
Goal = "APPROVED"
Evaluation = "="
strResult = "APPROVED"
当您连接它们时,包括引号以分隔字符串中的文本值。如果您想使用双引号,请将 2 放在您希望在最终字符串中出现的任何位置。但是单引号对我来说更容易...
strExpression = "'" & Goal & "'" & Evaluation & "'" & strResult & "'"
? strExpression
'APPROVED'='APPROVED'
现在计算该表达式并将其存储在您的变量中。您实际上并不需要 CBool()
... 只需 Eval(strExpression)
就足够了 ... 但我将其包含在此处是因为 blnResult
将显示为 True 而不是 -1。两者是相同的数字,但我想避免混淆显示格式。
blnResult = CBool(Eval(strExpression))
? blnResult
True