0

ここで、この質問をしていると思われる回答を検索しましたが、私にとって十分な回答はありませんでした。

一部のフォームに NEXT ボタンと PREVIOUS ボタンを配置したいと考えています。

Next は "CurrentForm" を閉じて "NextForm" を開きます。Previous は "CurrentForm" を閉じ、"PreviousForm" を開きます。

それらがすべて共有するフィールドは "Personnel" と呼ばれ、基本的には EmpName です。

これまでのところ、私はこれに取り組んできました:(私がしたことは、単にウィザードから「フォームを開く」ボタンを作成することでしたが、機能していませんか?)

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 & "'"

上記の編集で問題が解決しました。

4

2 に答える 2

0

あなたが表示するコードは正当なようです。前/次のフォームを開く前に現在のフォームを閉じていますか? 他のフォームを開く前にコードの実行が停止するため、これは問題です。最初に新しいフォームを開いてから、現在のフォームを閉じる必要があります。

これが役に立ったことを願っています

于 2013-09-17T13:28:14.417 に答える
0

VBA では、フォームの表示はShowメソッドによって行われます。これにより、必要なフォームが開く可能性があります。関連するメソッドはHideメソッドで、最初のフォームを非表示にして、一度に複数のフォームを表示しないようにすることができます。

詳細については、MS ヘルプを参照してください。VBA エディターでF1を押します。

于 2013-09-16T15:27:59.833 に答える