|
回复 24楼 whsfhwm 的帖子
的确是我疏忽了。不過,產生空值的原因是由於整張工作表中,最后一個有意義的記錄在I列之後。智能區域的意思是從第一個有意義的行到最后一個有意義的列之間形成的區域(這樣描述應該更準確)。樓主將I列之後的數據刪除再刷新觀測,就可以發現差別。最好也將:select * from [sheet1$a3:d] UNION ALL select * from [sheet1$F3:I]變成分開成
select * from [sheet1$a3:d]和select * from [sheet1$F3:I]分別生成表查看空行.這樣更明顯.
我的結論:當直接生成的新表只有一行記錄時,會自動生成多一個空行記錄;當有 一行以上記錄時,生成的表以第一行和最后一個記錄的列構成的區域.在這裏,我們指定的:
select * from [sheet1$a3:d]
實際生成的區域時從A3到I列對應整張表最后一個有意義記錄對應的記錄對應的行的位置.
PS:這樣描述好像不太能表達我的意思,大家按上面説的分別生成表觀測空行數目就知道了.現在在香港,只能使用繁體字,我汗.
本題的解決方法,加一個NULL判斷,寫法參考19樓
以上為本人個人觀點,代表準確喔,請大家驗證.并繼續指正.
[ 本帖最后由 wuxiang_123 于 2010-4-28 23:27 编辑 ] |
|