Zitat von
Fritz01:
Da muß doch noch ein Index der alten Tabelle sein, der in der neuen Tabelle nicht vorhanden ist.
Wie kriege ich den da weg, was muß ich da machen?Fritz
Nach dem Table.Close auf jeden Fall
Table.IndexName := '' setzen
Delphi-Quellcode:
procedure TfrmMain.TreeViewChange(Sender: TObject; Node: TTreeNode);
begin
if TreeView.Selected.IsFirstNode then exit
else
begin
SelectTable(TreeView.Selected.Text);
Table.Close; // active Table schließen
Table.IndexName := ''; // <<---hier könnte noch ein zugewiesener Index vom Vorgänger drin sein!Deswegen erstmal blank machen ;)
Table.TableName := TreeView.Selected.Text; // neue TabellenName
Table.Open; //--wird mit dem PrimärIndex(sofern vorhanden) geöffnet
//--für die neue Tabelle sicherheitshalber mal die Indexliste aktualisieren
Table.IndexDefs.Update;
Table.StoreDefs := false;
iRecordCount.Caption := IntToStr(Table.RecordCount); // Datensätze zählen und anzeigen
end;
end;
Was verbirgt sich hinter der Funktion/Prozedur
SelectTable()?