2012-08-06 59 views
1

我使用Access 2003中,有一個表單,允許用戶從各種過濾器挑,我用VBA來更新子窗體基於這些過濾器記錄一個記錄集對象(我產生VBA中的SQL語句)。這個子表單可以有重複的客戶端ID,現在我正在嘗試訪問一個唯一的客戶端ID列表。查詢使用VBA

有沒有簡單的方法來查詢出使用VBA,如果我有子窗體源SQL獨特的客戶端ID?我想過的選項:

  • 寫入所有的ID到一個臨時表,然後查詢該表(看起來像 更多的工作/資源比是必要的)
  • 查詢不知怎的,適用於記錄集對象在VBA中(這可能嗎?);我設置的記錄集對象等於SQL查詢,然後嘗試運行SELECT DISTINCT client_id FROM <the recordset object>,但我沒有發現,讓我相信這是可能的
  • 生成在原有基礎上一個新的SQL查詢(任何信息我希望SELECT DISTINCT client_id FROM ('original select query text here')會的工作,但它給了我一個語法錯誤在FROM語句

回答

1

目標的第三種選擇。如果你這應該工作的別名的子查詢,並'original select query text here'能適應。

SELECT DISTINCT sub.client_id 
FROM 
    (
     'original select query text here' 
    ) AS sub 

如果Access仍然窒息,請告訴我們您的'original select query text here'

你說得對替代#1 ...這是一種浪費。

替代#2是不可能的,因爲訪問不會讓你運行使用記錄集對象爲FROM源的查詢。

+0

@ HansUp - 真是棒極了!非常感謝。 – rryanp 2012-08-07 02:41:08