我使用MS Access 2003和我有一樣如何僅對現有表執行查詢?
SELECT * FROM [Table 1]
UNION ALL
SELECT * FROM [Table 2]
UNION ALL
SELECT * FROM [Table 3]
....
SELECT * FROM [Table 100]
從HTML文件鏈接到某個表的表的每一個「長」的查詢。 有時我的HTML源文件包含不同數量的表 - 少於100,當然我的執行查詢返回錯誤「3078:無法找到表...」。爲了避免這個錯誤,我試圖通過使用VBA代碼動態地構建這個查詢。所以,我有下一個邏輯:
- 檢查表中存在
- 構建查詢字符串(添加到字符串 「UNION ALL SELECT * FROM表」 &我& 「]」)
- 上的錯誤= 3078執行查詢(基於查詢字符串)。
它的工作原理,但它需要很多時間來檢查表是否存在(每次數據庫試圖從源鏈接此表)。我有另一種方式來做到這一點嗎?是否有可能像「長」查詢中的「部分」結果一樣返回(僅適用於那些存在並跳過另一個表的表)並且不要單獨檢查它們?
您如何檢查以查看錶格是否存在? – Zaider
DCount(「*」,「[Table」&i&「]」) - 我試圖計數記錄。如果table不存在,我會捕獲一個錯誤(Err.Number = 3078)並對此錯誤執行查詢。 – mbigun