0

5つのフォーム(form1、form2、form3、form4、form5)を持つテーブルがあります。私がやりたいのは、前のフォームのIDに基づいて特定のレコードに対してフォームを開くことです。たとえば、レコードIDが15のform1を開くと、form2を開くボタンをクリックしてレコードID 15を表示します。レコードIDとは、メインテーブルのIDを意味します。以下のコードを使用していますが、form1と同じレコードIDではなく、form2を新しいレコードに開いたままにします。誰か助けてもらえますか?

Private Sub Command110_Click()
Dim recordID As Integer

   recordID = Me.ID
   MsgBox (recordID)

   DoCmd.OpenForm "Form2", , , "ID = " & recordID

End Sub
4

1 に答える 1

1

recordID で、画面の下部に表示されるレコード番号を意味する場合は、機能しません。フィールド名を使用する必要があるため、次のようになります。

 DoCmd.OpenForm "Form2", , , "ID = " & AFieldThatMatchesID

テストするには、form2 の ID であることが確実な番号を使用できます。

 DoCmd.OpenForm "Form2", , , "ID = " & 7

次のフォームを開こうとする前に、新しいレコードを保存するために保存します。

 Me.Dirty = False
于 2013-02-02T22:45:46.237 に答える