【问题标题】:Combining a variable and part of a control in VBA在 VBA 中组合变量和控件的一部分
【发布时间】:2013-11-19 09:41:34
【问题描述】:

我有一个子表单,它可能会根据用户的选择而有所不同(因为它们是进行表查询)。因此,我不得不将实际表名存储在名为 MyResultSO 的变量中。这工作正常并返回正确的表名。然后我试图从子表单中获取字段的值。然后,我尝试将变量与字段 name.text 组合以从子表单中获取字段的值,但无法正确获取语法。

我尝试过变体,但例如这里是一个:

MyResultSO = Me.RESULTS.SourceObject 
'this works fine and returns "Table.POWER PRICES Query Table 3"

MyProductCode = MyResultSO & !PRODUCT_CODE.Text  
'which is where I am trying to combine the value of variable MyResultSO and the field which is PRODUCT_CODE.Text.

结合这应该从以下返回当前记录的值:

Table.POWER PRICES Query Table 3!PRODUCT_CODE.Text.

正如您可能从上面所说的那样,我对 VB 的经验并不丰富。

【问题讨论】:

  • 所以您正在尝试将表名(您已经拥有)与位于子表单中的字段的实际值结合起来?
  • 您的子表单名为“Table.POWER PRICES Query Table 3”?命名为 sfrmTablePowerPricesQueryTable3 会更好?

标签: vba variables ms-access-2007 subform


【解决方案1】:

在主窗体的私有模块的某个地方,这里是我:

MyResultSO = Me.RESULTS.SourceObject 

MyProductCode = Me.RESULTS.Form.Controls("PRODUCT_CODE").Value

不使用 .Text,这需要 .Focus:这很糟糕,它并不总是有效!

MyProductCode = Me.RESULTS.Form.Controls("PRODUCT_CODE").Text ' <= it's bad.

这里 PRODUCT_CODE 是名为“Table.POWER PRICES Query Table 3”的子窗体上的控件的名称。

【讨论】:

  • 非常感谢 - 这比我之前建议的要容易得多。这是一种享受(我现在已经更改了我的子表单的名称) - 我知道当我们的“新手”使用随机名称时,你们“适当的”程序员会非常恼火!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-21
  • 1970-01-01
  • 2017-08-07
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
  • 2013-10-04
相关资源
最近更新 更多