这是一个写TABLE表的过程。但提示“此名称已存在”后又提示“新增成功”为何  edit2.text:='';
      edit2.setfocus;
无用?该怎么写?

解决方案 »

  1.   

    with jiben.blxm1 do
       begin
          jiben.blxm1.Active:=true;
          first;
          if trim(edit2.text)='' then
             begin
                messagebox(blxmadd.handle,'项目名称不能为空,请重新输入!','错误',mb_ok);
                edit2.text:='';
                edit2.SetFocus;
             end
          else
             begin
                while not eof do
                   begin
                      if (fieldbyname('不良项目类别名称').asstring=edit1.Text) and (fieldbyname('不良项目名称').asstring=trim(edit2.Text)) then
                         begin
                            messagebox(blxmadd.Handle,'此项目已存在,请重新输入!','错误',mb_ok);
                            edit2.text:='';
                            edit2.SetFocus;
                            blxmadd.Show;
                         end
                      else
                         next;
                   end;
                jiben.blxm1.Insert;
                fieldbyname('不良项目类别名称').AsString:=edit1.text;
                fieldbyname('不良项目名称').asstring:=trim(edit2.text);
                post;
                refresh;
                jiben.bulxm.Items.add(trim(edit2.Text));
                messagebox(blxmadd.Handle,'不良项目新增成功!','提示',mb_ok);
                edit2.Text:='';
                edit2.SetFocus;
             end
       end
    end;
      

  2.   

    表里有两个字段。不良类别和不良项目  我先查询EDIT1代表的类别里有没有EDIT2中要新增的名称,如有,则提示重新输入,当循环到最后都没有,再INSERT.