procedure TForm2.Button1Click(Sender: TObject); 
begin 
  Box2.Caption:='请输入或修改当日'+button1.caption+'数据'; 
  Box1.Caption:='以下为'+button1.caption+'本月所有数据'; 
  DBGrid1.Visible:=True; 
  Button2.Enabled:=False; 
  Button3.Enabled:=False; 
  Button4.Enabled:=False; 
  Button5.Enabled:=False; 
  Button6.Enabled:=False; 
  Button7.Enabled:=False; 
  Button8.Enabled:=False; 
  Button9.Enabled:=False; 
  Button10.Enabled:=False; 
  Button11.Enabled:=False; 
  Button12.Enabled:=False; 
  Button13.Enabled:=True; 
  Button14.Enabled:=True; 
  Button15.Enabled:=True; 
  begin 
    with ADOQuery1 do 
    begin 
      close; 
      SQL.Clear; 
      SQL.Add('select * from srk where 单位 LIKE '+Quotedstr('%'+button1.caption+'%')); 
      open; 
    end; 
    if ADOQuery1.RecordCount>0 then 
      begin 
        ADOQuery1.Edit; 
        ADOQuery1.FieldByName('日期').AsString:=FormatDatetime('yyyymmdd',now()); 
      end 
    else 
    begin 
      ADOQuery1.Append; 
      DBEdit1.Text:=FormatDatetime('yyyymmdd',now()); 
      DBEdit2.Text:=button1.caption; 
    end; 
  end; 
end; 使用上述代码追加或修改数据后,用下列代码进行录入校验时无效(横线部分)。 
输入部分均为数字,且包含小数。 
请指教: procedure TForm2.DBEdit3Change(Sender: TObject); 
begin 
  DBEdit8.Text:=DBEdit3.Text; 
  DBEdit20.Text:=DBEdit8.Text+DBEdit13.Text+DBEdit18.Text+DBEdit19.Text; 
end; procedure TForm2.DBEdit4Change(Sender: TObject); 
begin 
  DBEdit8.Text:=DBEdit3.Text+DBEdit4.Text; 
  DBEdit20.Text:=DBEdit8.Text+DBEdit13.Text+DBEdit18.Text+DBEdit19.Text; 
end; 
............ 
............ 
procedure TForm2.DBEdit17Change(Sender: TObject); 
begin 
  DBEdit18.Text:=DBEdit14.Text+DBEdit15.Text+DBEdit16.Text+DBEdit17.Text; 
  DBEdit20.Text:=DBEdit8.Text+DBEdit13.Text+DBEdit18.Text+DBEdit19.Text; 
end; procedure TForm2.DBEdit19Change(Sender: TObject); 
begin 
  DBEdit20.Text:=DBEdit8.Text+DBEdit13.Text+DBEdit18.Text+DBEdit19.Text; 
end; 

解决方案 »

  1.   

    你是要得到数值还是字符串,Text相加是字符串
      

  2.   

    DBEdit20.Text:=DBEdit8.Text+DBEdit13.Text+DBEdit18.Text+DBEdit19.Text; 
    你这样加起来 ,能得到数值吗还不如直接用 FieldByname().AsFloat相加
      

  3.   

    不明白为什么要用tdbedit而不用tedit?
    Tedit1.text := FloatToStr(StrToFloatDef(Tedit3.text,0)+StrToFloatDef(Tedit4.text,0))这样不可以吗?
      

  4.   

    谢谢楼上。在tdbedit中用
    Tedit1.text := FloatToStr(StrToFloatDef(Tedit3.text,0)+StrToFloatDef(Tedit4.text,0))
    这条语句也可以。谢谢