Supportnet / Forum / Datenbanken
Löschen von Datensätzen....
Frage
Hallo ich habe ein Problem mit einer Access Datei.
In dieser Datei werden Subunternehmen und Ihre Unterlagen erfasst.
Es gibt nun unterschiedliche Tabellen:
- Adressen
- Unterlagen
- SubSub
etc.
Diese Tabellen sind über eine Adress ID miteinander verbunden. Wie kann ich das jetzt am günstigsten machen das ich mit einem Buttoncklick und der Eingabe der Adress ID alle Datensätze aus allen Tabellen löschen kann die mit dem Unternehmen zusammenhängen.
Danke im Vorraus für den Tip
KRONOX
Antwort 1 von oliverV
Hallo KRONOX,
ich gehe mal davon aus, das du ein Auswahlformular hast, mit dem du das gewünschte Unternehmen selektierst und das sich in diesem Formular die Adress ID befindet.
Du musst für jede Tabelle in der die Adress ID steht eine Löschabfrage erstellen, verwende als Kriterium beim Feld Adress ID:
=Formulare![Auswahlformular-Name]![Adress ID]
Erstelle nun im Auswahlformular eine Schaltfläche, schreibe in das Ereignis Beim Klicken sinngemäß folgenden Code:
Private Sub Schaltfläche_Click()
Dim Abf1 As String
Dim Abf2 As String
Dim Abf3 As String
Abf1 = "Abfragename 1"
Abf2 = "Abfragename 2"
Abf3 = "Abfragename 3"
DoCmd.SetWarnings False
DoCmd.OpenQuery Abf1, acNormal, acEdit
DoCmd.OpenQuery Abf2, acNormal, acEdit
DoCmd.OpenQuery Abf3, acNormal, acEdit
DoCmd.SetWarnings True
End Sub
Bei der Löschreihenfolge musst du auf eine evtl. vorhandene referentielle Integrität achten.
Mit DoCmd.SetWarnings False werden die Warnmeldungen nicht mehr angezeigt, also Vorsicht ! – weg ist weg !
Gruß
Oliver
ich gehe mal davon aus, das du ein Auswahlformular hast, mit dem du das gewünschte Unternehmen selektierst und das sich in diesem Formular die Adress ID befindet.
Du musst für jede Tabelle in der die Adress ID steht eine Löschabfrage erstellen, verwende als Kriterium beim Feld Adress ID:
=Formulare![Auswahlformular-Name]![Adress ID]
Erstelle nun im Auswahlformular eine Schaltfläche, schreibe in das Ereignis Beim Klicken sinngemäß folgenden Code:
Private Sub Schaltfläche_Click()
Dim Abf1 As String
Dim Abf2 As String
Dim Abf3 As String
Abf1 = "Abfragename 1"
Abf2 = "Abfragename 2"
Abf3 = "Abfragename 3"
DoCmd.SetWarnings False
DoCmd.OpenQuery Abf1, acNormal, acEdit
DoCmd.OpenQuery Abf2, acNormal, acEdit
DoCmd.OpenQuery Abf3, acNormal, acEdit
DoCmd.SetWarnings True
End Sub
Bei der Löschreihenfolge musst du auf eine evtl. vorhandene referentielle Integrität achten.
Mit DoCmd.SetWarnings False werden die Warnmeldungen nicht mehr angezeigt, also Vorsicht ! – weg ist weg !
Gruß
Oliver

