2017-06-07 7 views
0

その私はVBAでコード化された使用している、と私はさびていますので、...久しぶりコンボボックスによって移入されたフィールド、見しようとするとその後、他の場合とのDLookup挑戦Accessで2010

テーブル内でNULLかどうかを確認します。値を持つフィールドに基づいて、コードはどのフォームを開くかを決定します。

[テーブル]は、ここで

は、私は、これはエラーなしで実行するために得ることができない無駄

If DLookup("[field]", "table", IsNull) Then 
     DoCmd.OpenForm "form1", acNormal 
     End If 
    If DLookup("[field]", "table", NotIsNull) Then 
     DoCmd.OpenForm "form2", acNormal 

にしようとしたものであるForm2の

Form1の

を選択図】図。助けて!

+0

ありがとう...しかし、私は今、コンパイルエラーを取得しています:引数はIsNullでオプションではありません – CPM

答えて

0

フォーム上にコンボボックスがあることを意味しますか?コンボボックスは、その値をテーブルから取得します。選択した値が空白の場合は、別のフォームを開く値がある場合は、1つのフォームを開きますか? 1列コンボに基づいて

Private Sub Combo0_AfterUpdate() 
    With Me.Combo0 
     If .Column(1) = "" Then 
      DoCmd.OpenForm "Form2", acNormal 
     Else 
      DoCmd.OpenForm "Form3", acNormal 
     End If 
    End With 
End Sub 

Private Sub Combo0_AfterUpdate() 
    With Me.Combo0 
     If IsNull(.Value) Then 
      DoCmd.OpenForm "Form2", acNormal 
     Else 
      DoCmd.OpenForm "Form3", acNormal 
     End If 
    End With 
End Sub 
2つの列コンボボックス(列0、列1は、我々は後にしている値を保持し、隠されたキー値である)に基づいて

+0

私はこれが好きですが、今は実行時エラー2501を取得していますOpen Formアクションがキャンセルされました....以下は、コード。 Me.Combo5 で – CPM

+0

DoCmd.SetWarnings偽 .Column(2)= "" その後 DoCmd.OpenForm "01 A03 SchdlcreateCompanySelectError"、そうでないacNormal DoCmd.OpenForm "01 A02 SchdlcreateMarketerSelect"、acNormal END IF の場合最後に DoCmd.SetWarnings True – CPM

+0

DoCmd.OpenForm "01 A02 SchdlcreateMarketerSelect"、バグによってacNormalが強調表示されます – CPM