Access 2007:关闭表单并使用匹配的EmpName打开下一个表单

时间:2013-09-16 14:22:13

标签: vba ms-access-2007

我在这里搜索了似乎在问这个问题的答案,但没有一个答案对我有用。

我想在某些表格上有一个NEXT和PREVIOUS按钮。

接下来将关闭“CurrentForm”并打开“NextForm”。上一个将关闭“CurrentForm”,并打开“PreviousForm”。

他们共享的字段称为“Personnel”,基本上是EmpName。

到目前为止,我一直在研究这个问题:(我所做的只是从WIZARD创建一个“打开表单”的按钮,但它不起作用?)

Private Sub cmdPrevAD1_Click()
On Error GoTo Err_cmdPrevAD1_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "frmComp_Events_2013"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_cmdPrevAD1_Click:
    Exit Sub

Err_cmdPrevAD1_Click:
    MsgBox Err.Description
    Resume Exit_cmdPrevAD1_Click

End Sub  

修改

     Dim stDocName As String
     Dim sEmpName As String

     stDocName = "frmComp_Events_2013"
     sEmpName = Me.Personnel.Value
     DoCmd.OpenForm stDocName, , , "Personnel = '" & sEmpName & "'"

以上编辑解决了这个问题。

2 个答案:

答案 0 :(得分:0)

在VBA中,显示表单由Show方法完成。这可以打开您需要的表单。一个相关的方法是Hide方法,它可以隐藏第一个表单,因此您一次不会显示多个表单。

有关详细信息,请查看MS帮助 - 在VBA编辑器中,按 F1

答案 1 :(得分:0)

您展示的代码似乎合法。你在打开上一个/下一个表格之前关闭当前表格吗?这将是一个问题,因为代码在您打开其他表单之前停止运行。你需要先打开你的新表格,然后关闭你当前的表格。

我希望这有帮助