1

我在 MS Access 数据库中有一个表格,其中列出了带有订单号的订单,每页一个订单。在表单的底部有一个按钮,可以打开另一个表单,为订单添加项目。

我正在尝试在 MS Access 中使用 vb 来获取订单号并自动将其放入新项目详细信息表单的字段中。我尝试了不同的方法,但似乎建议使用 OpenArgs。但是详细信息表单无法打开,并且出现运行时错误。以下是问题的详细信息 - 非常感谢您的建议:

相关的表格和字段是: 带有订单的表格是 frmPedidoAvifiFind 带有订单行的表格是 frmPedidoAvifi-dtlAdd(用于添加详细信息但不用于查看现有详细信息的单独表格)。订单号的两个表格中的字段都是 PedidoAvifiNo。这是两个表中的数字字段,通过该字段通过一对多关系链接。

主窗体:按钮调出详细窗体,代码如下:

主窗体按钮上的代码:

Sub AddDetails_Click()
  Dim strDocName As String

    strDocName = "frmPedidoAvifi-dtlAdd"

    ' Open frmPedidoAvifi-dtl form in data entry mode and store PedidoAvifiNo in  the form's OpenArgs property.

    DoCmd.OpenForm strDocName, , , , acFormAdd, , [frmPedidoAvifiFind]![PedidoAvifiNo]

End Sub

详细表格:在开放式财产上

Private Sub Form_Open()
If Me.OpenArgs <> vbNullString Then
   Me.PedidoAvifiNo = Me.OpenArgs
End If

End Sub

测试1:在主窗体上选择一个订单号,以便记录显示。按下按钮添加订单线。- 运行时错误“2465”找不到字段“|” 所指。Debug 突出显示 DoCmd 行。

测试 2:将 openform 行更改为: DoCmd.OpenForm strDocName, , , , acFormAdd, , Me.PedidoAvifiNo 结果: - 运行时错误 2501 openForm 操作已取消。

谢谢你,Mike Gunner Reus,西班牙

4

1 回答 1

1

您得到的错误意味着您拼错了控件的名称PedidoAvifiNo

当您键入Me.智能感知时,将为您提供可用字段列表,查看您拥有的类似于 的内容PedidoAvifiNo,或检查属性。切换一个字母而不注意是很容易的。

至于第二部分,您应该使用 Load 事件,而不是 on 上的 Open 事件frmPedidoAvifi-dtlAdd,因为控件在 Open 事件中尚不可用。

于 2011-01-07T12:24:58.697 回答