2009-07-14 14 views
0

私は、useridの検索条件があり、useridを持つ従業員名が単一のテーブルから来るリストボックスコントロールに表示されるという点で、従業員データベースのvbaフォームを開発しています私は検索ボックス(例:ユーザーID)として機能し、テキストボックスの値に応じてテーブルから値を持つリストボックスを移入する必要がありvba内のテーブルからリストボックスを作成する

この

+0

タグから、これはアクセスに関するものです - これは正しいですか?どのバージョンのAccessですか?どのようなバックエンドですか? – YogoZuno

+0

Access 2003とアクセステーブルはバックエンドです – SmartestVEGA

+0

参照:http://stackoverflow.com/questions/1123664/how-can-i-call-the-below-function-to-populate-my-access-form-list -control – Fionnuala

答えて

2

を行うにはどのように私を助けてくださいあなたは、検索フィールドなどのデータ型のようないくつかのものに依存するので、あなたは質問するのが難しいです。この答えは、これらのポイント...

最初に、検索値のフォームとそれに応じてフィルタを検索する検索条件でリストボックスを作成する必要があります。

これを行うには、リストボックスのRowSourceプロパティを設定します。ここではそのフィルタ値のため、フォーム上のテキストボックスを探し、リストボックスのための例の値集合ソースが...

SELECT tblAgencies.AgencyID, tblAgencies.OrganizationName 
FROM tblAgencies 
WHERE (((tblAgencies.OrganizationName) 
      Like "*" & nz([Forms]![frmMainMenu2]![txtSearchAgencies],"") & "*")) 
ORDER BY tblAgencies.OrganizationName; 

で重要な部分は、同様に...ラインです。それについてのいくつかのことは...クエリがいくつかの基準のためにフォームを見ていることに注目してください。クエリの[Forms]![frmMainMenu2]![txtSearchAgencies]部分に表示されます。 frmMainMenu2には、txtSearchAgenciesという検索テキストボックスがあります。

NZ関数を使用して、そのテキストボックスに表示されているピクチャが少なくとも空の文字列を返すことに注意してください。最後に、ユーザーが部分文字列を入力できるように両端にワイルドカードを使用してLike演算子を使用することに注意してください。

最後に、検索ボックスの隣には、フィルタ/検索を実行するコマンドボタンがあります。それが必要なのは、このようなリストボックスをREQUERYにすることだけです...

Me.lstAgencies.Requery。

また、入力時にフィルタリングするOnChangeイベントでRequeryを試すこともできます。しかし、クエリが遅い場合、これはうまく動作しない可能性があります。

セス

+0

多くの場合、OrganizationNameのハードワイヤードの値でrowsourceを割り当てます。再クエリーが必要な場合は、クリーナーのRowSourceプロパティ(つまり、コントロール参照なし)、再クエリーする同じイベントでそれを再割り当てするだけです。 –

+0

デビッド、私はあなたの質問を理解していない...あなたは少し説明することができますか? セス –

0

はあなたがフィールドのユーザーID、従業員を持つテーブルTABLE1を持っているとしましょう。 コンボボックス(名前はboxid)とテキストボックス(名前はEdtEmployee)を持つフォームを作成する必要があります。 が

SELECT table1.userid FROM table1 WHERE employee like EdtEmployee & "*"; 

のようにコンボボックスの値集合ソース値を定義します。そして、私は願っています。この

Private Sub EdtEmployee_LostFocus() 
BoxId.Requery 
End Sub 

のようにテキストボックスのLostFocusイベントを定義し、これは私がMIKに同意します

0

のために動作します。 私はNeberが使用したLostFocusの代わりにAfterUpdateイベントを使用します。

関連する問題