簡體   English   中英

MS Access SQL-UNION返回空集

[英]MS Access SQL - UNION Returns Empty Set

我在Access中遇到一個奇怪的行為。 我基本上在VBA項目中有兩個預定義的查詢,它們在程序的不同部分都需要正常運行。

現在,我需要一個將兩個結果集都返回為一個的查詢。 因此,我的解決方案是創建一個結合其他兩個查詢的新查詢。 就像:

SELECT * FROM query1
UNION
SELECT * FROM query2;

這兩個查詢的結果具有相同的布局。 但是,如果query1的結果為空,而query2的結果中包含一些記錄,那么我從上面的代碼中收到空的結果。 另一種方法(query2的結果為空-query1的結果為多個)可以為我提供完整的結果。

我還通過切換兩個查詢測試了上面的代碼。 但是行為是相同的。 與UNION ALL相同。

這里可能是什么問題?

編輯:所以,我做了一些進一步的測試。 原因似乎在query2內。 它甚至無法與自身結合。 因此,如果我嘗試:

SELECT * FROM query2
UNION ALL
SELECT * FROM query2;

我再次得到一個空集。 當我只在SELECT部分​​中使用一個字段時,情況相同。

Edit2:好的,它會變得更好。 數據集為空,但在查詢結果的表視圖中,我的所有數據都在列的過濾器中。 但是,如果我做一個Count(rowname),我得到的回報是0。

經過兩天的測試,我受夠了並將代碼移到另一台計算機上。 在那里工作。 因此,在將其導出到新計算機上並將其傳輸到我的PC后,所有功能均應正常運行。 所以我想這是與我使用的前端有關的問題。

因此,如果您遇到麻煩。 同樣,請確保您的項目沒有任何損壞。 (即使Access沒有顯示任何錯誤)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM