访问组合框值

Posted

技术标签:

【中文标题】访问组合框值【英文标题】:Access combobox value 【发布时间】:2011-04-08 09:52:29 【问题描述】:

我有一个组合框和一个按钮,它使用从组合框获取的值运行查询,但它似乎没有得到正确的值。

我尝试过使用

[Forms]![Kooli otsing]![Combobox] 

[Forms]![Kooli otsing]![Combobox].[Text]

查询不起作用,似乎它没有从组合框中获取值。因为它适用于普通的 TextBox。

我添加了解释图片!!!!

添加了 VBA 编辑器的图片

添加了错误图片并且没有评论自动完成

【问题讨论】:

组合框中有多少列?发布组合框的行源将有助于我们调试。 @mwolfe02 组合框中的 183 列..rowsource?你能告诉我那是什么吗? 183 必须是 rows 的数量(我希望如此)。我很好奇的数量。我问的原因是组合框的常见做法是有一个隐藏的绑定列,该列与主键绑定(通常是自动编号代理)。除非您指定列,否则引用文本框会返回绑定(通常是隐藏)列,而不是您在屏幕上看到的数据。这通常会让新用户感到困惑。 @mwolfe02:哦……那我猜……只有 1 个? @mwolfe02:我在原始帖子上添加了解释图片 【参考方案1】:

根据您在问题上发布的最新 cmets,您想使用:

[Forms]![Kooli otsing]![Combo19].Column(1)

原因如下。您说您的组合框有以下设置:

列数:2 绑定列:1 行源类型:表/查询 行源:SELECT [Haridusasutused].[ID], [Haridusasutused].[Nimetus] FROM Haridusasutused;

2 的列数告诉 Access 使用行源中的前两列(在这种情况下只有两列)。绑定列告诉访问组合框的默认值应该是行源的第一列。在这种情况下,这将是[Haridusasutused].[ID]。 ID 列通常是自动编号字段。

您遇到问题的原因是 [Forms]![Kooli otsing]![Combo19] 从 ID 列(很可能是一个数字)而不是“Elva Gümnaasium”返回数据。通过添加 .Column(1),您告诉 Access 从行源的第二列(.Column 是从零开始的数组)中选择数据,即“Elva Gümnaasium”。

编辑:或者,您可以将绑定列从 1 更改为 2,然后不理会其余部分(即,您不需要 .Column(1) 部分全部)。

【讨论】:

好吧,我试过了,但自动完成功能甚至没有给我 Column(1) 选项......当我手动编写它时。我收到错误:找不到属性...我还在第一篇文章中添加了图片..检查它们:) @Jaanus:另一种选择是将第二列设置为绑定列(即,将绑定列从 1 更改为 2)。请参阅上面的编辑。【参考方案2】:

这适用于我的应用程序:

[Forms]![Hour-registration]![mwkselect]

         ^form               ^combobox

也许试试这个刷新:

Me.Requery
Me.Refresh

【讨论】:

我的语法和你的完全一样,但是我应该把 ME.Refresh 放在哪里? 组合框的属性 -> 在 onchange 事件后面放置一些代码并复制到行(重新查询/刷新) 现在我有 Private Sub Combo19_Change() ... Me.Refresh ... End Sub ... 你的意思是这样吗?这就是整个潜艇。顺便说一句还是不行 我在原始帖子中添加了解释图片 在我看来,在其中一个控件的编辑事件中刷新表单不是一个好主意,并且可能与这里的问题无关。【参考方案3】:

您是否尝试过单步调试器并通过监视窗口搜索值?例如在按钮单击事件中设置断点,然后将 [Forms] 添加到监视窗口并查看它。

【讨论】:

我找到了调试器..不确定如何使用它..umm..我把断点放在 Private Sub Search_Click() 行..然后去程序..然后我按下按钮,它只是向我显示了这条线..我想我用错了......还有..当我有错误时,调试器不会帮助我吗?因为..我没有实际错误,它不只是从组合框中得到正确的值。 我在原始帖子中添加了解释图片【参考方案4】:

你可以使用:

[Forms]![Form1]![Combo1].[Text]

【讨论】:

以上是关于访问组合框值的主要内容,如果未能解决你的问题,请参考以下文章

根据组合框选择更改文本框值

访问 VBA - 使用 VBA 的 SQL 语句使用文本框组合框值在表单上填充列表框 OR

从文本框值查看组合框值 Microsoft Access 2007

根据组合框选择 C# 更改组合框值

在 access 2007 中更新组合框值

Extjs 添加唯一的组合框值来存储