2016-05-24 22 views
1

私はdlookupメソッドを使用して、アクセスフォームでemployeenameを検索するためのインデックスとしてemployeeidを使用します。以下は私が書いたコードです。 employeeidは私のテーブルの短いテキストです。 Dlookupメソッドは、条件をID、デフォルトの主キーに変更したり、コード内の「記号」を削除しない限り、値(常にエラー)を返すことはできません。MS Access Dlookup with text条件

また、テーブルのプロパティーemployeeid列を数値として変更して、 '記号を削除しようとすると、このメソッドは値を返すこともできません。 dlookupメソッドは、この場合の基準としてデフォルトの主キーのみを使用できるようです。誰もこれで助けることができますか?

Public Function GetEmployeeName() As Variant 
    GetEmployeeName = DLookup("[EmployeeName]", "EInfor", "[EmployeeID] = "'& Me.txtEID.Value & "'") 
End Function 

答えて

2

あなたはあなたを持っている「と第一、及び 『[社員] = それがあるべきで切り替え』」二。あなたはなぜ理解していない場合

DLookup("[EmployeeName]", "EInfor", "[EmployeeID] = '" & Me.txtEID.Value & "'") 

が、私は私の説明に展開することができると思いますが、私はそれが間違えていたかもしれないと思う:これは動作するはずです。

+0

はい、私はミスタイプがありますが、自分のコードを修正してもエラーは表示されます。私は考えていません.... – Royy

+0

あなたは[]なしで試しましたか?これらは必要ありませんし、DLookupがそのクエリをどのように行うかによって、エラーがスローされている可能性があります。 []は、[Employee Name]のようなスペースがあり、DLookupで機能しない場合、区切り文字として使用されます。 コード上の他の問題について正直に考えることはできません。うまくいくはずです。たぶん 'Me.txtEIDは正しい値を保持していませんか?正しい値を渡しているかどうかを確認するために、デバッグを試みましたか?たぶんそれはnullまたは整数を返していますか? 私はDLookupを使用してプライマリキー以外の文字列を検索しましたが、うまくいきました。 – CyberClaw

関連する問題