下面是我的代码,是不是那里写错了。每天的代码可以运行,但是每周的就出错。procedure TForm1.ABSTable1FilterRecord(DataSet: TDataSet; var Accept: Boolean);var testDay,testday1,a,b,c,d:TDateTime;begin testDay := absTable1.FieldByName('提醒日期').Asdatetime; testDay1 := absTable1.FieldByName('每月').Asdatetime; WeekFromDayToDay(testDay , a, b); WeekFromDayToDay(testDay1 , c, d);Accept:= false; if (FormatDateTime('yyyy-MM-dd',now)=FormatDateTime('yyyy-MM-dd',absTable1.FieldByName('提醒日期').AsDateTime))or (formatdatetime('ddd',now)=absTable1.FieldByName('每周').asstring) or (FormatDateTime('MM-dd',Now)=FormatDateTime('MM-dd',absTable1.FieldByName('每月').AsDateTime)) thenAccept:= true; if (absTable1.FieldByName('提醒日期').AsString = '' ) and (absTable1.FieldByName('每周').asstring='') and (DateToStr(absTable1.FieldByName('提醒时间').AsDateTime)<>'') and (absTable1.FieldByName('每月').Asstring='') thenAccept:= true;//以上为筛选每天记录 if (FormatDateTime('yyyy-MM-dd',abstable1.fieldbyname('提醒日期').asdatetime)>=FormatDateTime('yyyy-MM-dd',a)) and(formatDateTime('yyyy-MM-dd',abstable1.fieldbyname('提醒日期').asdatetime)<=FormatDateTime('yyyy-MM-dd',b)) thenaccept:=true;if (FormatDateTime('MM-dd',abstable1.fieldbyname('每月').asdatetime)>=FormatDateTime('MM-dd',c)) and(FormatDateTime('MM-dd',abstable1.fieldbyname('每月').asdatetime)<=FormatDateTime('MM-dd',d)) thenAccept:= true; if (absTable1.FieldByName('每周').asstring<>'') and (DateToStr(absTable1.FieldByName('提醒时间').AsDateTime)<>'') then Accept:= true;end;procedure TForm1.WeekFromDayToDay(ADay: TDateTime; var FromDay, ToDay: TDateTime);var i:word;begin i := DayOfTheWeek(ADay);FromDay := ADay - i + 1;ToDay := aDay + ( 7- i );end;//以上为筛选每周记录。由于我设了2个按钮,其中一个是每天,一个是每周,是不是把代码都写在一起,还是怎么样,我这么写,连原来的每天筛选都不起作用了。大大们帮我分析下。