使用VB访问OpenForm打开表单的问题

时间:2013-06-10 21:08:52

标签: ms-access access-vba ms-access-2013

我有一个库存表格。我想创建一个更新按钮,单击该按钮将打开一个新表单frm_add-remove,它将仅包含所选的库存项目,并允许您编辑库存数量。我在下面列出了点击事件,但它不起作用:

Private Sub A_Click()
Dim var As Variant
var = Forms![frm_Inventory]![ItemID]
DoCmd.OpenForm(frm_add-remove, , , "ItemID = " & var, , , )
End Sub

并得到一个编译错误,预期:表达式。 ItemID是frm_Inventory表中的列,以及frm_add-remove表中的列。

我尝试使用和不使用尾随逗号。我有语法错误吗?我认为你可以连接+或&?

2 个答案:

答案 0 :(得分:1)

尝试:

DoCmd.OpenForm("frm_add-remove", , , "ItemID = '" & var & "'", , , )

我做了两件事。

  1. frm_add-remove放在引号中,以便它作为字符串正确传递,而不是作为变量名传递。
  2. var放在引号中,以防它也是一个字符串。

答案 1 :(得分:0)

表单名称必须是字符串。在它周围添加缺少的引号。

DoCmd.OpenForm("frm_add-remove", , , "ItemID = " & var )

最后一个非空参数之后的任何内容都是不必要的(因此要删除:)