回 帖 发 新 帖 刷新版面

主题:添加记录问题请教

本人在添加记录时碰到如下问题,请教各位高手啊 ,
在数据库设的时候是允许所有的字段为空的,但在添加记录时编写了如下代码
procedure Tinput.BitBtn1Click(Sender: TObject);
begin
   with Adotable1 do
   begin
   open;
   Edit;
   Append;
   fieldByname('耗材名称').AsString:=Trim(Edit1.Text);
   fieldByname('数量').AsString:=Trim(Edit2.Text);
   fieldByname('所领工厂').AsString:=Trim(Edit3.Text);
   fieldByname('部门').AsString:=Trim(Edit4.Text);
   fieldByname('领取人').AsString:=Trim(Edit5.Text);
   fieldByname('领取时间').AsString:=Trim(Edit6.Text);
   if Trim(Edit1.Text)='' then
   begin
    Application.MessageBox('耗材名称为空不能输入,请输入耗材名称.','提示',0+64);
    Edit1.SetFocus;
    end;
    if Trim(Edit2.Text)='' then
   begin
    Application.MessageBox('数量为空不能输入,请输入数量值.','提示',0+64);
    Edit2.SetFocus;
    end;
    if Trim(Edit3.Text)='' then
   begin
    Application.MessageBox('所领工厂为空不能输入,请输入所领工厂.','提示',0+64);
    Edit3.SetFocus;
    end ;
    if Trim(Edit4.Text)='' then
   begin
    Application.MessageBox('部门为空不能输入,请输入部门.','提示',0+64);
    Edit4.SetFocus;
    end ;
    if Trim(Edit5.Text)='' then
   begin
    Application.MessageBox('领取人为空不能输入,请输入 领取人.','提示',0+64);
    Edit5.SetFocus;
    end  ;
    if Trim(Edit6.Text)='' then
   begin
    Application.MessageBox('领取时间为空不能输入,请输入领取时间.','提示',0+64);
    Edit6.SetFocus;
    end
    else
      Application.MessageBox('确定要添加记录?','提示',0+64);
        post;
   end;
end;
现不能实现效果,点击bitbtn1按钮时,他会弹出为空的对话框,但只是有提示,为空的部分,还是添加了记录。
请问如何编写才能使有任何一个为空记录就不能添加进去,并自动把焦点聚焦到为空的
Edit编辑框中,
请帮忙啊

回复列表 (共1个回复)

沙发

将代码顺序重排即可,如下:
procedure Tinput.BitBtn1Click(Sender: TObject);
begin
   with Adotable1 do
   begin
   open;
   Edit;
   Append;
   if Trim(Edit1.Text)='' then
   begin
    Application.MessageBox('耗材名称为空不能输入,请输入耗材名称.','提示',0+64);
    Edit1.SetFocus;
    end      else begin
    if Trim(Edit2.Text)='' then
   begin
    Application.MessageBox('数量为空不能输入,请输入数量值.','提示',0+64);
    Edit2.SetFocus;
    end      else begin
    if Trim(Edit3.Text)='' then
   begin
    Application.MessageBox('所领工厂为空不能输入,请输入所领工厂.','提示',0+64);
    Edit3.SetFocus;
    end      else begin
    if Trim(Edit4.Text)='' then
   begin
    Application.MessageBox('部门为空不能输入,请输入部门.','提示',0+64);
    Edit4.SetFocus;
    end      else begin
    if Trim(Edit5.Text)='' then
   begin
    Application.MessageBox('领取人为空不能输入,请输入 领取人.','提示',0+64);
    Edit5.SetFocus;
    end      else begin
    if Trim(Edit6.Text)='' then
   begin
    Application.MessageBox('领取时间为空不能输入,请输入领取时间.','提示',0+64);
    Edit6.SetFocus;
    end      else begin
if (Edit1.Text<>'') and (Edit2.Text<>'') and (Edit3.Text<>'') and (Edit4.Text<>'') 
and (Edit5.Text<>'') and (Edit6.Text<>'') then
begin
if Application.MessageBox('确定要添加记录?,'提示',mb_YesNo)=ID_Yes then
begin
   Adotable1.fieldByname('耗材名称').AsString:=Trim(Edit1.Text);
   Adotable1.fieldByname('数量').AsString:=Trim(Edit2.Text);
   Adotable1.fieldByname('所领工厂').AsString:=Trim(Edit3.Text);
   Adotable1.fieldByname('部门').AsString:=Trim(Edit4.Text);
   Adotable1.fieldByname('领取人').AsString:=Trim(Edit5.Text);
   Adotable1.fieldByname('领取时间').AsString:=Trim(Edit6.Text);
 if (Adotable1.modified) then  Adotable1.post; 
 end;
   end;
end;

我来回复

您尚未登录,请登录后再回复。点此登录或注册