【问题标题】:Query MS-Access Form ComboBox查询 MS-Access 表单组合框
【发布时间】:2017-03-02 19:44:46
【问题描述】:

正如标题所示,我正在用 excel vba 编写 SQL,以从 MS-Access 数据库中查询表单内容。 SQL 工作正常,但是,组合框所在的字段,SQL 返回它们的索引而不是文本字段。

我花了一些时间在谷歌上搜索,但大多数结果都是询问如何在组合框中的表单上显示,我只是想用我的 SQL 从组合框中返回文本显示。

我会继续说设计这个的人做得不好,与这些下拉列表相关的表格没有任何共同之处(这些表格只是下拉列表值和 ID 的列表)。

我的问题是返回此值的最佳方法是什么?我可以根据下拉索引加入吗?

【问题讨论】:

  • 组合框引用的标准值将是索引。如果您需要返回另一列的值,请使用组合框对象的.Column() 属性。但是,这在 SQL 中不可用,因此您可能需要将值从 vba 传递到您的 SQL 语句。MSDN
  • 我从未尝试过,但显然您可以将所需的输出列映射到“tag”属性并使用[Forms]![MyForm]![Combo1].Tag 在 SQL 中调用它。来自here
  • 我不久前尝试了标记方法,但出现错误。我没有考虑列属性,所以我需要弄清楚如何从excel vba中引用访问组合框值
  • 如果你只是使用 SQL,也许对组合框中使用的表使用左连接。

标签: sql forms excel ms-access vba


【解决方案1】:

此链接应该可以帮助您入门。

http://access.mvps.org/access/forms/frm0031.htm

大概是这样吧……

Forms!Mainform.RecordSource

【讨论】:

  • 感谢您的回答,但请注意,不鼓励仅提供链接的答案。如here 所述,“鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防万一目标站点无法访问或永久脱机。”
猜你喜欢
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多