2013-06-24 70 views
0

我有一個我正在動態搜索的表單。 我在窗體上設置了一些真正令人討厭的過濾器,如*'& {值} & *'或像(等)參數。從MS Access中的表單填充列表框

令我驚訝的是,過濾器實際上運行得非常快。這很好。然而,我一直想要的設計決定了我想要一個列表框來顯示匹配過濾的所有客戶的客戶名稱。

現在,我知道Access已經有了這些信息,基本上我只想讓列表框顯示如果我彈出到數據表視圖的第一列。

不幸的是,推薦這樣做的方法似乎是用我的往返查詢命中數據庫,而這很糟糕而且很慢。

有沒有辦法通過從表格的'數據表'中讀取數值來'欺騙'?

我試圖將表單的記錄集分配給列表框的記錄集,但Access不喜歡那樣。

+0

看起來是這樣做的伎倆 **'設置Me.ListN.Recordset = Me.Recordset' ** 我不知道我是否應該使用記錄集呢? – Rick

回答

0

當窗體上的過濾器處於活動狀態時,窗體的.RecordsetClone對象反映了過濾後的集合,因此您應該可以使用它來填充和重新填充列表框。您需要嘗試一下才能找到適合您的特定情況的「最佳」方法,但一種方法是找到可在所需時間觸發的表單事件(On Current,也許?)並使用它來清除從列表框中取出並使用.AddItem在您循環訪問RecordsetClone的副本時重新填充它。