Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   foreign keys einer mdb per Statement abfragen (https://www.delphipraxis.net/157520-foreign-keys-einer-mdb-per-statement-abfragen.html)

SirThornberry 14. Jan 2011 16:40

Datenbank: mdb • Version: ?? • Zugriff über: Microsoft.Jet.OLEDB

foreign keys einer mdb per Statement abfragen
 
Gibt es eine Möglichkeit per SQL-Statement die Beziehungen zwischen Tabellen abzufragen und am besten noch welche Tabellen alles existieren?

Hintergrund ist folgender:
Ich habe 2 Datenbankdateien: Gesamt.mdb und Neu.mdb
Jetzt will ich automatisiert die Datensätze der Tabellen aus Neu.mdb in Gesamt.mdb kopieren. Da es aber sein kann das in der Gesamt.mdb bereits ein Datensatz mit der gleichen ID vorhanden ist müsste ich eben diesen ändern und natürlich auch alle Verweise anderer Datensätze darauf.
Um nicht bei jeder neuen Datenbankstruktur neuen Quelltext schreiben zu müssen will ich eben das ForeignKey etc. automatisch ermittelt wird und entsprechend die Daten korrekt hinzugefügt werden können.

Da nicht feststeht ob es für immer und ewig bei mdb-Dateien bleibt würde ich das ganze gern über ein SQL-Statement machen damit später nur dieses ausgetauscht werden muss anstelle einer Kompletten Komponentenansammlung.

himitsu 14. Jan 2011 18:00

AW: foreign keys einer mdb per Statement abfragen
 
Hatte damals soeine Frage bei MySQL und anscheinend wollen wohl nicht Viele sowas wissen. (wäre 'ne Erklärung, warum es nichts Einfaches gibt, um diese Keys auszulesen)

http://www.delphipraxis.net/152767-a...-loeschen.html

jobo 14. Jan 2011 18:29

AW: foreign keys einer mdb per Statement abfragen
 
Bist Du Dir sicher, dass in der mdb alle Beziehungen auch wirklich definiert sind? Wenn nicht, hast Du ein Problem.

Falls es nicht SQL sein muss- was sich sowieso mit ziemlicher Sicherheit in verschiedenen DB unterscheiden würde- hilft der Link vielleicht weiter:
http://support.microsoft.com/kb/304322/de

Ansonsten vielleicht mal in die MSystabellen von Access schauen. (MSysObjects, MSysQueries, MSysRelationships, ..)
Normalerweise sind diese Tabellen unsichtbar. Je nach Version unter Tools, Options, Tab "View", "System Objects" aktivieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz