線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1160
推到 Plurk!
推到 Facebook!

'Value of field 'A1' is out of range 是什麼錯誤?

尚未結案
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-16 18:36:45 IP:203.69.xxx.xxx 未訂閱
在使用TQuery.FilteredFilterRecord 時出現 value of field 'A1' is out of range 不知為何? 1:在TQuery.Filtered設true, 2:在procedure TQuery.FilteredFilterRecord 設下條件 procedure TQuery.FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin inherited; if (dataset.FieldByName('A1').AsFloat=0) // if (qy1A.AsFloat=0) and (qy1D.AsFloat=0) // and (qy1G.AsFloat=0) and (qy1J.AsFloat=0) THEN and (dataset.FieldByName('D1').AsFloat=0) and (dataset.FieldByName('G1').AsFloat=0) and (dataset.FieldByName('J').AsFloat=0) then Accept:=true else Accept:=false; end; run時,會SHOWMESSAGE'Value of field 'A1' is out of range " 不知是為什麼?
longsanglin
初階會員


發表:10
回覆:57
積分:43
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-16 18:53:22 IP:211.22.xxx.xxx 未訂閱
資料中可能是null value. 請check看看
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-16 19:07:04 IP:61.155.xxx.xxx 未訂閱
procedure TQuery.FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin    //inherited; if (dataset.FieldByName('A1').Asinteger=0) and (dataset.FieldByName('D1').Asinteger=0) and (dataset.FieldByName('G1').Asinteger=0) and (dataset.FieldByName('J').Asinteger=0) then Accept:=true else Accept:=false; end; 可能是类型不对吧!!! 供参考 风花雪月 e梦情缘
------
风花雪月 e梦情缘
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-19 09:42:45 IP:203.69.xxx.xxx 未訂閱
引言: procedure TQuery.FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin //inherited; if (dataset.FieldByName('A1').Asinteger=0) and (dataset.FieldByName('D1').Asinteger=0) and (dataset.FieldByName('G1').Asinteger=0) and (dataset.FieldByName('J').Asinteger=0) then Accept:=true else Accept:=false; end; 可能是类型不对吧!!! 供参考 风花雪月 e梦情缘
改成Asinteger=0,還是會SHOW 'Value of field 'A1' is out of range'
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-19 09:58:37 IP:61.155.xxx.xxx 未訂閱
请问一下A1、D1、G1、J是什么类型的数据    风花雪月 e梦情缘
------
风花雪月 e梦情缘
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-19 10:18:23 IP:203.69.xxx.xxx 未訂閱
引言: 请问一下A1、D1、G1、J是什么类型的数据 风花雪月 e梦情缘
DataSet['A1;C']:=SQLValue('select sum(' g_isnull '(GQ,0)),' 'sum(' g_isnull '(COST,0)) ' 'from MREC where YRMN=' AA(la_YYYYMM) ' and NSN=' AA(dataset.fieldbyname('NSN').AsString) ' and (select count(*) from LOC where ' 'STK=' AA('A') ' and ST=MREC.ST)>0 '); DataSet['D1']:=SQLValue('select sum(' g_isnull '(GQ,0)) from REC where 1=1 ' //IOTP=' AA('A') ' and (TRN=' AA('A') ' or TRN=' AA('D') ' )' ' and NSN=' AA(dataset.fieldbyname('NSN').AsString) ' and (select count(*) from LOC where ' 'STK=' AA('A') ' and ST=MREC.ST)>0 ' ' and DT >= ' AA(from) ' and DT < ' AA(to)); DataSet['G1']:=SQLValue('select sum(' g_isnull '(GQ,0)) from REC where ' ' (TRN=' AA('1') ' or TRN=' AA('R') ')' ' and NSN=' AA(dataset.fieldbyname('NSN').AsString) ' and (select count(*) from LOC where ' 'STK=' AA('A') ' and ST=MREC.ST)>0 ' ' and DT >= ' AA(from) ' and DT < ' AA(to)); DataSet['J']:=SQLValue('select sum(' g_isnull '(GQ,0)) from REC where ' ' (TRN=' AA('L') ' or TRN=' AA('K') ')' ' and NSN=' AA(dataset.fieldbyname('NSN').AsString) ' and (select count(*) from LOC 'STKTP=' AA('A') ' and ST=MREC.ST)>0 ' ' and DT >= ' AA(from) ' and DT < ' AA(to))
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-20 07:53:10 IP:61.155.xxx.xxx 未訂閱
重您提供的代码中看,你的数据应该是INTEGER类型的;但是重你的 SHOW 'Value of field 'A1' is out of range' 错误看来,就可能是数据类型问题了。    应给是你的A1、D1、G1、J的返回值超出INTEGER, 您可以用这样的形式 ADODataSet1.FieldByName('??').AsVariant 风花雪月 e梦情缘
------
风花雪月 e梦情缘
系統時間:2024-06-27 0:31:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!