Autor Beitrag
m-werk
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mo 12.08.02 17:45 
Hi Leute, könnt Ihr mir helfen, ich weiß leider keinen RAT mehr.

In meiner Datenbank sind ja einige Tabellen.
Im Programm sind diese Tabellen verknüpft über die KundenNr

Wenn ich jetzt vom Hauptprogramm einen Kunden lösche, wie kann ich es anstellen, dass von den anderen Tabellen diese Werte, die dem Hauptkunden zugeordnet sind, auch gelöscht werden?

Im Programm ist es jetzt so das wenn ich den Hauptkunden lösche, auch die anderen Werte nicht mehr ersichtlich sind (KundenNr zugeordnet)

Aber in der Access-DB sind diese Werte noch drinn.

Ich verwende Delphi 6 und ADO

_________________
Grüße, m-werk
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mo 12.08.02 17:59 
Hallo m-werk,

ich bin mir ziemlich sicher, dass du bei der Erstellung von Tabellen in Access unter "Referenzielle Integrität" eine sogenannte "Löschweitergabe" aktivieren kannst. Dann löscht Access die so verknüpften Daten selbstständig. Leider kann ich dir die genauen Menüpunkte nicht nennen, weil ich Access nicht auf meinen Rechner lasse. Außer beim Betriebssytem ist er nämlich MS FREI.

Aber schau doch mal in die Hilfe unter den o.g. Stichworten.

_________________
Live long and prosper
MrSpock \\//
Spike
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 69
Erhaltene Danke: 1



BeitragVerfasst: Mo 12.08.02 19:50 
Hallo,

Du mußt unter Access die Beziehungen zwischen den Tabellen definieren, referentielle Inegrität anklicken und dann Löschweitergabe anklicken.

Spike
m-werk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mo 12.08.02 20:09 
Hi, kann man das auch im Programm irgendwie lösen? Ich möchte an der Datenbank nichts mehr ändern, da diese Datenbank schon 3-5 User haben. Sonst müßte ich alle Datenbänke anfordern und diese dann ändern. Dies möchte ich vermeiden

_________________
Grüße, m-werk
Spike
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 69
Erhaltene Danke: 1



BeitragVerfasst: Mo 12.08.02 20:24 
Natürlich kannst Du auch beim löschen von Datensätzen (BeforeDelete) die anderen Tabellen durchlaufen und dort alle in Beziehung stehenden Daten löschen, aber wenn wirklich max 5 Datenbanken im Umlauf sind würde ich mir das nochmal überlegen. Ist halt keine saubere Lösung und meist führt sowas früher oder später zu Problemen, von der Verarbeitungsgeschwindigkeit mal ganz abgesehen.
Wenn Du's trotzdem im Programm machen willst würde ich die Tabellen filtern und anschließend alle Datensätze löschen.

Spike