2017-11-07 23 views
0

複数の異なるフォームで使用できるコードを作成しようとしています。 私の問題は、フォームの参照権を取得できないということです。ここで変数を使用してAccessでフォームに参照する

は私のコードです:

Dim FormNaam As String 

FormNaam = Screen.ActiveForm.Name 

'Realisatie_Euro 6_Transferstraat1 
If Forms!Productie_Blok1!txtReal_1_1.Enabled = True Then 
    rst.AddNew 
    rst!Productielijn = Productielijn 
    rst!Lijngedeelte = DLookup("LijngedeelteNr", "TblLijngedeelte", " 
[productielijn] = productielijn and [omschrijving] = '" & Forms! 
(FormNaam)!lbl_1.Caption & "'") 

エラーを与えているコードは次のとおりです。

DLookup("LijngedeelteNr", "TblLijngedeelte", "[productielijn] = 
productielijn and [omschrijving] = '" & Forms!(FormNaam)!lbl_1.Caption & "'") 

これを実行しているとき、私は型宣言文字が宣言と一致していないと言って、コンパイルエラーを取得しますデータ・タイプ。私はあらゆる種類の組み合わせを試しましたが、それを動作させることはできません。

私の質問は次のとおりです。フォーム名の変数を使用して、フォームの特定のフィールドを参照するにはどうすればよいですか?

ありがとうございます。

答えて

1

それはどちらかだ

Forms!constantFormName!Property 

または

Forms(strVarFormName)!Property 

ので:

Forms(FormNaam)!lbl_1.Caption 

またはもう少し単純明快:

Dim myForm As Access.Form 
Set myForm = Screen.ActiveForm 

"...[omschrijving] = '" & myForm!lbl_1.Caption & "'" 
+0

ターnks Andre、フォーム(FormNaam)ソリューションが私のために働いていました。 –

関連する問題