2009-10-24 35 views
1

我有機會的同一個副本,現在在3個城市運行。他們的工作非常好。它們的99%與一個小的差異相同。它們中的每一個都有兩個視圖,它們使用不同的odbc連接到不同的城市DB(所有這些數據庫都是SQL Server 2005)。這些視圖充當了兩個非常簡單的查詢的數據源。記錄返回行的正確數目,但所有字段爲空

然而,當我試圖讓一個新的城市新副本,我發現,簡單的內部查詢的一個返回行的正確數目,但所有數據都是,而其他查詢功能空正常。

我查了一下這兩種觀點的數據,該數據是正確的。

在導致問題就像

Select * from View_Top where Name = "ABC" 

時記錄的回報,甚至RS!名稱給我一個空字符串。

請幫

+0

請發佈VIEW_TOP的定義和它依賴的任何視圖。您可能正在使用OUTER JOIN並從JOIN的錯誤一側拉動列。 –

+1

雖然這不可能是問題的原因,但NAME是Access/Jet/ACE中的保留字,避免使用保留字是個好主意。安裝的Access版本中的變體可能會導致不同PC上出現此類問題的不同結果。但這更多的是一般性建議,而不是問題的可能原因。 –

+0

從這個位置,你可以從MS SQL Management Studio運行相同的查詢並獲得結果嗎? – JeffO

回答

0

嘛查詢看起來有點我錯了,請嘗試使用「替代」來分隔您的ABC串...

0

沒有VIEW_TOP的定義,它很難說在您的錯誤是,但如果你得到的行,但列是空的我猜,VIEW_TOP(或者它依賴的東西)包括一個外部連接,並且你從連接的錯誤一側拉動列。

0

view_top定義

「姓名,賬號,AccountCode,金額,日期......」

選擇語句:

Select Name, Account, AccountCode, Amount, Date 
From View_Top Where Name = 'xxx' 

我發現,如果我省略了金額,一切正常。

雖然我還是不明白這是爲什麼。

0
SELECT 
    acc.FIRM, 
    acc.OFFICE, 
    acc.ACCOUNT, 
    a.CONV_CODE, 
    a.OTHER_AMT AS AMOUNT, 
    a.TRANS_DATE, 
    a.DESCRIPTN, 
    a.JRNAL_TYPE 
FROM AccTrans AS a LEFT OUTER JOIN ACC AS acc ON a.ACCNT_CODE = acc.ACCNT_CODE 
WHERE 
    (acc.SUN_DB = 'IF1') AND 
    (ANAL_T0 <> '') AND 
    (a.TRANS_DATE < '20091022') AND 
    (a.JRNAL_TYPE = 'MATCH'); 

這是視圖的定義。的確,在Access中我能夠查看這個查詢的結果,它有數據。這就是爲什麼我知道記錄集返回正確的行數(通過計算代碼中的循環)。對不起,我的錯誤,我使用的帳戶在where子句中的select語句應該像

select Firm, Office, Account, Trans_Date.... from 
view_top 
where account = 'ABC' 

該查詢返回的行權數量,但所有的行數據(即使在帳目場)是空字符串。

後來我發現真正造成問題金額字段,如果我忽略的量,一切正常。儘管我不明白爲什麼。

相關問題