【问题标题】:How to refer to field name dynamically using a variable in MS Access VB如何在 MS Access VB 中使用变量动态引用字段名称
【发布时间】:2014-08-07 23:35:49
【问题描述】:

我正在为关键字搜索制作一个搜索表单。我有带有值 ["And","Or","Not"] 的组合框,带有字段名称列表的组合框,例如["Title","Description",...] 和与每个组合框关联的文本框。我正在尝试根据组合框和文本框的值创建 sql 查询。为此,我需要根据组合框的值来引用字段名称。我正在尝试我找到的解决方案,但我仍然收到错误:“编译错误:未定义子或函数”。调试器以黄色突出显示“VHS_Metadata_Aug52014(field)”。

.....

bool_type = Me!Controls!dropBoolType2.value

field = Me!Controls!dropSearch2.value

value = Me!Controls!txtKeywords2.value

If (value) > 0 Then

    SQL_query_string = SQL_query_string & " " & bool_type & " " & VHS_Metadata_Aug52014(field) = " & value"

End If

.....

【问题讨论】:

  • VHS_Metadata_Aug52014 是什么?语法:VHS_Metadata_Aug52014() 是函数的语法。

标签: ms-access vbscript field


【解决方案1】:

我会改用点表示法。像这样使用刘海不会让你很容易地使用变量。尝试类似

Forms("formname").controls(foo).value

其中 foo 是组合框中的值。

我不确定 VHS_Metadata_Aug52014 是什么,如果它是您尝试引用的表单的名称,那么您就在那里。

【讨论】:

  • 有趣的是,我习惯使用 !因为在 Access 的代码编辑器中,当我键入“!”时,智能感知会帮助我找到控件名称,但不能使用“。”。对我来说毫无意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多