当ADOQuery1.fieldbyname('pos0405').asstring=null时有错,但是不为空时没有错
ADOQuery1.fieldbyname('pos0405').asstring是写入combobox2.text的。
请指教,谢谢!!!procedure TspdaForm.ADOQuery1AfterScroll(DataSet: TDataSet);
var s:string;
    i:integer;
begin
  if combobox4.text='不促销' then
  begin
  if (datetimepicker1.Checked=true) and (datetimepicker2.Checked=true) then
  begin
    datetimepicker1.Checked:=false;
    datetimepicker2.Checked:=false;
   end;
  end;//end of  if
   if combobox4.text='促销' then
  begin
    datetimepicker1.Checked:=true;
    datetimepicker2.Checked:=true;
  end;//end of  if
  if (ADOQuery1.active=true) and (not ADOQuery1.IsEmpty) then
  begin
    edit2.enabled:=true;
  edit1.Clear;
  edit2.Clear;
  edit3.Clear;
  combobox1.Text:='数量核算';
  combobox2.text:='';
  combobox3.Text:='';
  edit4.clear;
  edit5.Clear;
  combobox4.text:='不促销';
   ss:='000000';
  datetimepicker1.Datetime:=strtodatetime(copy(ss,1,2)+':'+copy(ss,3,2)+':'+copy(ss,5,2));
   ss:='235959';
  datetimepicker2.Datetime:=strtodatetime(copy(ss,1,2)+':'+copy(ss,3,2)+':'+copy(ss,5,2));
  datetimepicker2.Checked:=false;
  datetimepicker1.Checked:=false;
  edit6.clear;
  combobox5.text:='非称重';    bitbtn1.enabled:=false;
    bitbtn2.enabled:=true;
    bitbtn3.Enabled:=true;
    bitbtn5.Enabled:=true;
    edit2.Enabled:=false;
    if (ADOQuery1.fieldbyname('sptm').asstring<>'')and(ADOQuery1.fieldbyname('sptm').asstring<>null) then
    edit1.text:=ADOQuery1.fieldbyname('sptm').asstring;
    edit2.text:=ADOQuery1.fieldbyname('pos0401').asstring;
    edit3.text:=ADOQuery1.fieldbyname('pos0403').asstring;
    if ADOQuery1.fieldbyname('pos0404').asstring='01' then
    combobox1.text:='数量核算'
    else if ADOQuery1.fieldbyname('pos0404').asstring='02' then
    combobox1.text:='金额核算';
      for i:=0 to lbcol-1 do
        if (lb[i,0]=ADOQuery1.fieldbyname('pos0405').asstring)  then
        break;
        combobox2.text:=lb[i,1];
        if (ADOQuery1.fieldbyname('pos0406').asstring<>'') or(ADOQuery1.fieldbyname('pos0406').asstring<>null) then
        combobox3.text:=ADOQuery1.fieldbyname('pos0406').asstring;
        edit4.text:=ADOQuery1.fieldbyname('pos0407').asstring;
        edit5.text:=ADOQuery1.fieldbyname('pos0408').asstring;
        if ADOQuery1.fieldbyname('pos0410').asstring='0' then
        combobox4.text:='不促销'
        else if ADOQuery1.fieldbyname('pos0410').asstring='1' then
        combobox4.text:='促销';
        if (ADOQuery1.fieldbyname('pos0413').asstring<>'') and (ADOQuery1.fieldbyname('pos0413').asstring<>null) then
        begin
        if combobox4.text='促销' then
        begin
        s:=ADOQuery1.fieldbyname('pos0413').asstring;
        datetimepicker1.datetime:=strtodatetime(copy(s,1,2)+':'+copy(s,3,2)+':'+copy(s,5,2));
        end;
        end;//end of if
        if (ADOQuery1.fieldbyname('pos0414').asstring<>'') and (ADOQuery1.fieldbyname('pos0414').asstring<>null) then
        begin
         if combobox4.text='促销' then
        begin
        s:=ADOQuery1.fieldbyname('pos0414').asstring;
        datetimepicker2.datetime:=strtodatetime(copy(s,1,2)+':'+copy(s,3,2)+':'+copy(s,5,2));
        end;
        end;//end of if
        edit6.text:=ADOQuery1.fieldbyname('pos0417').asstring;
        if ADOQuery1.fieldbyname('pos0419').asstring='0' then
        combobox5.text:='非称重'
        else if ADOQuery1.fieldbyname('pos0419').asstring='1' then
        combobox5.text:='称重';
  end;//end of if >=1
end;