如何执行保存为变量VBA的代码行

时间:2017-12-24 03:15:49

标签: ms-access access-vba

我有一个名为Frm_Dairy的表单和一个名为Frm_Bakery的表单

我在每个中都有一个包含值的字段。每种形式的字段名称都相同,但是以字母名称开头是ether Dairy或Bakery。

实施例: Frm_Dairy.Dairy_Sales 要么 Frm_Bakery.Bakery_Sales

我想执行此代码: M_Sales = Frm_Dairy.Dairy_Sales

这很容易,但如果我希望程序首先确定哪种形式是活动的呢?

M_Form =" Dairy" '在这种情况下

所以如果M_Form =" Dairy"代码将是: M_Code =" M_Sales = Frm _" &安培; M_Form& "" &安培; M_Form& " _Sales"

现在如何执行M_Code变量以将数据存储到M_Sales

我希望我已经详细询问了这个问题并感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

要确定某个特定表单是否已打开,请考虑:

If CurrentProject.AllForms("Dairy").IsLoaded Then
...
ElseIf CurrentProject.AllForms("Bakery").IsLoaded Then
...
End If

您描述了需要引用字段,可能确实需要引用控件。

动态构造表单和控件引用的几种方法。一种是使用ActiveForm属性,假设您要寻址的表单具有焦点。

Debug.Print Screen.ActiveForm.Controls(Screen.ActiveForm.Name & "_Sales")

另一种方法是将表单名称作为procedure的字符串参数传递。

Debug.Print Forms(strForm).Controls(strForm & "_Sales")

如果控件没有表单名称前缀,则会更简单。