Table öffnen mit OpenDialog
-
Hallo Leute,
ich möchte eine Tabelle aus einer DB mit dem OpenDialog öffnen und in einem DBGrid ausgeben, um die Tabelle später mit SaveDialog unabhängig von der DB zu speichern.
Das einlesen der Tabelle in ein DBGrid habe ich, aber es ist nur die Tabelle der eingebundenen DB und ich bekomme es nicht hin das ich auch andere Tabellen lesen kann, die nicht in der DB stehen.
Die DB ist eine Access-DB (tParadox)!MfG
Snoopy
PS: Help my!!!
-
Wie willst du denn auf eine Tabelle zugreifen, wenn du die dazugehörige Datenbank nicht geöffnet hast?
Du kannst doch auch nicht einfach hergehen und eine Datei von einer CD lesen, wenn die CD noch gar nicht eingelegt ist.
Was ich damit eigentlich sagen will:
Du solltest dich erst mal mit dem Umgang von Datenbanken vertraut machen,
bevor du dir den Kopf über etwas zerbrichst, was gar nicht funktionieren kann.
-
Hallo JeGr,
ja Du hast Recht, aber da habe ich mich wohl falsch ausgedrückt.
Also ich will mit OpenDialog die Tabelle einer DB öffnen und im DBGrid anzeigen lassen, so wie es mit einer txt-Datei in einem RichEdit-Feld geht.
Und ich bin der Meinung das ich die Tabelle auch (z.B. als xls Format) dann mit SaveDialog speichern kann. Solche Vorgänge funktionieren ja auch mit txt-Dateien! Deshalb dacht das dieser Vorgang auch bei Tabellen geht, oder nicht?
Wenn nicht was könnte ich dann machen, gibt es eine alternative?MfG
d-snoopy
-
Ich habs übern Alias gemacht. Wenn du den Alias hast, dann hast du auch gleichzeitig alles Tabellen für die der Alias gilt. Stichwort: GetTableNames()
Hatte auch mal vor das mit OpenDialog zumachen... nunja... grober Ansatz wäre vielleicht, die *.db datei oder was auch immer auf Table->TableName zu legen, oder?! So wie man das übern alias auch machen würde.
teste doch mal und sag mal bescheid obs klappt.
mfg
Steffen
-
Also, um Tabellen aus Datenbanken zu öffnen würde ich nicht den OpenDialog nehmen (was für ein Dateiformat hat denn eine Tabelle?).
Ich würde mir für jede Datenbank eben eine Verbindungskomponente anlegen.
Über diese kannst du dann alle enthaltenen Tabellen in Erfahrung bringen.
Diese kannst du dann z.B. in einer ComboBox darstellen und damit dann auch Auswählen.Wenn du dann die Tabelle in deinem DBGrid o.ä. dargestellt hast, dann kannst du diese Tabelle auch als Textdatei abspeichern.
Entweder schaust du die da mal die Hilfe zu ClientDataSet an, wenn du die Tabelle mit ihren Strukturen etc speichern möchtest, oder aber du wandelst die Tabelle in ein Textformat um (z.B. *.csv). Diese Format kann dann z.B Excel oder Access wieder einlesen.Allerdings weiss ich nicht, was genau deine Absicht ist.
-
Hallo JeGr,
es ist so, in der DB sind drei Tabellen vorhanden. Table1 hat ihren Inhalt in kl*****rift, die Table2 hat nur verschlüsselte Inhalte, die Table3 wird beim Prog-start mit den Decodierten-Daten der Table2 gefüllt und beim beenden werden die Daten aus Table3 wieder gelöscht.
Nun möchte ich Daten der Table3 mit Excel anzeigen lassen um(Angenommen um die Tabelle weiter zugeben, ohnen das Prog weiter geben zu wollen),müßte ich die Table3 als externes Format speichern können, damit die z.B. mit Excel gelesen werden kann!Ich hoffe es ist zu verstehen was ich machen will.
MfG
d-snoopy
-
Dann würde ich die Tabelle in das *csv-Format exportieren.
Als kleiner Tipp für den Export:
Lies die Einträge aus der Tabelle zeilenweise aus, trenne die einzelnen Feldwerte mit einem Trennzeichen deiner Wahl (Semikolon, Tabulator etc)
und speichere die einzelnen Zeilen in einer Stringliste.
Diese kannst du dann ganz einfach als Textdatei abspeichern (auch über TSaveDialog).