vba - 访问宏 - 文本框是否从默认值更改?
问题描述
我有一个带有包含一些默认文本的文本框的 Access 表单。用户需要用自己的单词替换文本,所以我编写了一个宏来确认(在继续下一条记录之前)文本框不再包含默认文本。(它给用户一个警告和一些其他任务,这就是我不使用内置验证规则的原因。)
宏包含以下序列:
SetLocalVar
Name: booDetailDefault
Expression = [Forms]![frmChangeReq]![txtProblem].[Text]=[Forms]![frmChangeReq]![txtProblem].[DefaultValue]
想法是如果...[Text]
与 相同...[DefaultValue]
,booDetailDefault
则为 TRUE,否则为 FALSE。
但是,我得到的是“类型不匹配”。我认为 Text 和 DefaultValue 将是同一类型。
- 你能告诉我为什么会出现这个错误吗?
- 有什么方法可以显示 Text 和 DefaultValue 值,以便我了解 Access 认为它们不同的原因吗?
- 有没有更好的方法来查看文本框是否已更改?
编辑:默认文本在文本框的属性表中设置。我一直在手动运行它,还没有将它绑定到一个事件,直到我让它工作。
我使用文本而不是值,因为这是宏生成器中可用的,但以防万一我尝试将其更改为值。它可以工作,尽管我必须告诉表达式在它的一半左右使用引号:
[Forms]![frmChangeReq]![txtProblem].[DefaultValue]="""" & [Forms]![frmChangeReq]![txtProblem].[Value] & """"
解决方案
推荐阅读
- schema.org - 不可见元素的 Schema.org 标记
- gradle - 为什么在添加依赖项时tasks.all 运行良好但tasks.matching 不行?
- python - 如何在 docker-compose 文件中为多个容器配置通用 Python 环境?
- javascript - JavaScript - 变量更改但 if 不适用
- spring-boot - 使用 if 条件限制数据库中的行的问题
- c++ - Valgrind 在 armv7/ubuntu(32 位)Docker 映像上给出段错误
- ios - 我可以在自定义视图/样式中支持 `labelsHidden` 修饰符吗?
- ios - 在 Gmail URL 方案上添加图片
- amp-html - 如何根据地理位置有条件地渲染 AMP 中的元素
- c++ - 如何将缓冲区从node-api(c ++)传输到节点中的javascript