通过编码在访问2007中分配全局变量

时间:2014-05-28 10:35:26

标签: ms-access access-vba ms-access-2007

我有两种表单OrderFormCustomerForm

在CustomerForm中,我有一个组合框,我在其中选择orderId。如果我点击“查看”按钮,那么它应该显示一个弹出窗口,其中包含此'orderId'的订单详细信息

CustomerForm

  • orderId存储在cbxOrderId
  • viewOrderBut - 显示orderForm弹出窗口的按钮

我尝试过如下并失败

viewOrderBut点击事件

Forms![OrderForm].orderId = orderIdVar  

错误:

找不到引用的表格'OrderForm'

我在OrderForm中的orderId变量是公共的

public orderId as string

有人请帮助我。

修改

代码:

CustomerForm:

Public gblorderId as string



    Private Sub btnApproval_Click()
    gblOrderId = "123" 'static assignment of order id
    DoCmd.OpenForm "OrderForm"
    End Sub 

OrderForm

Public orderId as string

Private Sub Form_Load()
orderId = gblOrderID
MsgBox("orderId="+orderId)
End sub

错误:

...打印

订单ID =

如何从OrderForm引用CustomerForm.gblOrderId。我猜我错过了。

1 个答案:

答案 0 :(得分:2)

该错误表明无法找到OrderForm格式。你事先打开了表格吗?

  1. 如果OrderForm是对话框表单,则
  2. 这应该是按钮的代码:

    orderIdVar = Forms!CustomerForm!comboBoxOrderId
    docmd.openform "OrderForm"
    

    以及OrderForm的Form_load事件

    me.orderId = orderIdVar
    

    2.否则

    这个:

    docmd.openform "OrderForm"
    Forms![OrderForm].orderId = orderIdVar