2012-01-09 63 views
0
arrBand = array("6M","10M","12M","15M","17M","20M","30M","40M","60M","80M","160M") 

該存儲過程是ADO記錄EOF和BOF並不如預期

SELECT * 
FROM tableBand 
WHERE UCall=[In_Call] And ACID=[In_CID] and BAND=[In_Band]; 

下面的代碼總是執行「非」條件。對於給定的CRS(「CID」),數據庫中只有兩行具有數組值之一,即6M和10M。

for i = 0 to UBound(arrBand) 
    ConnTemp.GetMode SanCall, CRS("Cid"), arrBand(i), BandRS 
    if not BandRS.EOF and not BandRS.BOF then 
    tmp = tmp + "<td style='width: 59px;'>" + arrBand(i) + "<input name='Ck'" +  arrBand(i) + "' type='checkbox' checked='checked'value='Y'/></td>" 
    else 
    tmp = tmp + "<td style='width: 59px;'>" + arrBand(i) + "<input name='Ck'" + arrBand(i) + "' type='checkbox'/></td>" 
end if 
BandRS.close 
next 
+0

沒有看到您的表數據和正在執行的確切SQL語句,很難提供幫助。 – 2012-01-09 15:17:41

+0

準確的SQL語句在帖子中。該表包含3列,ACID,UCall,Band,全部文本。第1行的數據是1A0,nf41,6M。第2排是1A0,NF4L,10M。 – Mike 2012-01-09 15:48:03

+0

您確定數據正在返回並且沒有錯誤發生? – Robert 2012-01-09 16:36:27

回答

0

事實證明,字段名稱「Band」是保留字,即使查詢在Access本身中運行也是如此。我將它改爲Bandx,現在它正在工作。