请教大家:在批导入excel数据到access数据库的时候,如果有与数据库中重复的记录,它有错误提示。但是在它之前那些未重复的那些记录已经导入到access数据库了,我想做的是:要么全部成功导入,要么全部失败!请教大家帮我看看!!!try
    OpenDialog:=TOpenDialog.Create(Self);
    OpenDialog.DefaultExt := 'xls';
    OpenDialog.Filter := 'Microsoft Excel 文件  (*.xls)|*.xls';
    OpenDialog.Execute;
    if OpenDialog.FileName<>'' then
    try
      Screen.Cursor:=crSqlWait;
      ss_adoconnexcel.Close;
      ss_adoconnexcel .ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+OpenDialog.FileName+';Extended Properties=Excel 8.0;Persist Security Info=False';
      ss_adoconnexcel .Open;
      with ss_adoqueryexcel do
      begin
        Close;
        Sql.Clear;
         Sql.Add('SELECT 楼栋编号,房间编号, 所属院系,收费标准,可住人数 FROM [Sheet1$]');
        Prepared:=true;
        Open;
      end;      ss_adoconnexcel.BeginTrans ;
      ss_adoqueryexcel.First;
      while not ss_adoqueryexcel.Eof do
      begin
        with ss_ADOCom do
        begin
          with  ss_adoqueryexcel do
            begin
             CommandText:='INSERT INTO sushe VALUES('+''''+Trim(FieldByName('楼栋编号').AsString)+''''+','+''''+trim(fieldbyname('房间编号').AsString )+''''+','+''''+Trim(FieldByName('所属院系').AsString)+''''+','+''''+trim(fieldbyname('收费标准').asstring)+''''+','+''''+trim(fieldbyname('可住人数').asstring)+''''+')';
             Execute;
            end;
        end;
        ss_adoqueryexcel.Next;      end;
     ss_adoconnexcel.CommitTrans;
      showmessage('EXCEL数据成功导入ACCESS数据库!');
    except
     ss_adoconnexcel.Cancel ;
     ss_adoconnexcel.RollbackTrans;
       showmessage('数据导入失败!');
    end;
  finally
    susheinfo_qry.Close;
    susheinfo_adocon.Close ;
    ss_adoconnexcel.Close ;    Screen.Cursor:=crDefault;  end;
另外:如何对dbgrid中某列符合条件字段的值,进行统计相加呢?好像要用到ADOTable2.GotoBook(CurrentRecord);
ADOTable2.FreeBook(CurrentRecord); 这样的语句,请xdjm能提供这方面的资料参考!谢谢!