0

動的に検索しているフォームがあります。私はいくつかの本当に厄介な Like *' & {value} & *' OR Like (etc) パラメーターを使用してフォームにフィルターを設定しています。

驚いたことに、フィルタは実際には非常に高速に実行されます。これはいい。しかし、ひとまとめにされた設計では、フィルタリングに一致するすべての顧客の顧客名を表示するリスト ボックスが必要です。

これで、Access には既にこの情報が含まれていることがわかりました。基本的には、データシート ビューにフリックした場合に表示される最初の列をリスト ボックスに表示したいだけです。

悲しいことに、これを行うための推奨される方法は、ラウンド トリップ クエリでデータベースにアクセスすることであると思われます。

フォームの「データシート」から値を読み取って「チート」する方法はありますか?

フォームのレコードセットをリストボックスのレコードセットに代入してみましたが、Access が気に入りませんでした。

4

1 に答える 1

0

フォームでフィルターがアクティブな場合、フォームの.RecordsetCloneオブジェクトはフィルター処理されたセットを反映するため、それを使用してリストボックスに入力および再入力できるはずです。特定の状況でそれを行うための「最良の」方法を見つけるには、少し実験する必要がありますが、1 つのアプローチは、必要な時間に発生するフォーム イベントを見つけ (On Currentおそらく?)、それを使用してクリアすることです。リストボックスを使用.AddItemして、RecordsetClone のコピーをループ処理する際に再設定します。

于 2013-06-25T12:18:38.620 に答える