2017-01-11 13 views
0

これは簡単ですが、正しい構文が見つからないようです。 Access 2013アプリケーションで開かれていないフォームのフォーム変数を作成したいので、フォームの別のプロパティを渡すのではなく、一連のメソッドにフォームオブジェクトを渡すことができます。 Microsoft Accessは、あなたの式で参照フィールド 『frmSuppliers』を見つけることができません」Access VBAでフォーム変数を宣言して設定する

は、ここで私がしようとしてきたものだが、私は実行時エラー「2465」内に実行する。

Private Sub cmdSuppliers_Click() 
    Dim frm As Form 
    Set frm = Form("frmSuppliers") 

    Debug.Print frm.Name 
+0

フォームを初期化してDBのフォームコレクションに追加するためには、フォームを開く必要があります – Sorceri

答えて

1

ありがとうございました。私は、フォームコレクションへの間違った参照のコンパイルが欠落していて、変数を設定する前にフォームを開いていないようです。このコードはトリックを行うようです:

Private Sub cmdSuppliers_Click() 
    Dim frm As Form 

    DoCmd.OpenForm "frmSuppliers", acNormal, , , , acHidden 
    Set frm = Forms("frmSuppliers") 

    Debug.Print frm.Name 

    DoCmd.Close acForm, frm.Name 
    Set frm = Nothing 

End Sub 
3
Private Sub cmdSuppliers_Click() 
    Dim frm As Form 
    Set frm = Forms("frmSuppliers") 

    Debug.Print frm.Name 
関連する問題