Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#10

Re: Neue Tabelle erstellen und öffnen

  Alt 11. Feb 2009, 08:52
Hallo,

falls das Problem noch nicht weg sein sollte, versuche mal bitte folgendes:
Delphi-Quellcode:
  unit1.form1.ADOConnection1.Close; //<----------
Unit1.form1.adotable1.Close;
ShowMessage('****');
unit1.Form1.ADOTable1.TableName:=tabellenname;
unit1.form1.ADOConnection1.open;
Unit1.form1.adotable1.open;
Dadurch wird eine mehr oder weniger von Dir beeinflussbare Pause eingebaut. Wenn es damit funktioniert, bist Du im Programmablauf zu schnell und "überholst" quasi die Datenbank. Um das Problem zu lösen könntest Du anstelle von ShowMessage ein Sleep(1000) einbauen. Den Wert 1000 musst Du eventuell anpassen. Eine "brutalere" Möglichkeit könnte in etwa so aussehen:
Delphi-Quellcode:
var
      i : Integer;
...
  Unit1.form1.adotable1.Close;
  unit1.Form1.ADOTable1.TableName:=tabellenname;
  unit1.form1.ADOConnection1.open;
  i := 0;
  repeat
    inc(i);
    Try
      Unit1.form1.adotable1.open;
    Except
    End;
  until Unit1.form1.adotable1.Active or (i >= 3); // maximal drei Versuche starten
  if Not Unit1.form1.adotable1.Active then begin
    // Behandlung der Situation, dass die Tabelle nach dem 3. Versuch nicht zu öffnen ist.
    ShowMessage('Die Tabelle ' + tabellenname + ' konnte nicht geöffnet werden.');
  end;
Über die "Eleganz" dieser Lösung wollen wir uns lieber nicht unterhalten
  Mit Zitat antworten Zitat