Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Alle Daten aus allen Tabellen löschen
zurück: Endlich Bedingte Formatierung einfach gemacht weiter: Kalenderformular mit Access-Bordmitteln Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
stpimi
Moderator Access


Verfasst am:
23. Nov 2005, 10:07
Rufname:
Wohnort: Graz

Alle Daten aus allen Tabellen löschen - Alle Daten aus allen Tabellen löschen

Nach oben
       

Speziell bei der Entwicklung einer Anwendung ist es immer wieder nötig, alle Daten aus allen Tabellen zu löschen. Mit Löschabfragen für jede Tabelle ist das aufwendig und es ist auch die richtige Reihenfolge der Abfragen einzuhalten, um mit der referentiellen Integrität nicht in Konflikt zu kommen.

Wesentlich einfacher geht es mit der folgenden Funktion, die der User gaga gepostet hat und die ich mit seinem Einverständnis hier veröffentliche:
Code:
Function DelEverythingInAllTables(Optional blnCompact As Boolean = False) As Boolean
On Error GoTo HandleErr
    Dim tabelle As AccessObject
    Dim wks As DAO.Workspace
    Dim dbs As DAO.Database
    Dim inTrans As Boolean

    Set wks = DBEngine.Workspaces(0)
    Set dbs = CurrentDb
    wks.BeginTrans
    inTrans = True
    For Each tabelle In Application.CurrentData.AllTables
        If Left(tabelle.Name, 4) <> "MSys" And _
           tabelle.Name <> "Switchboard Items" Then
            dbs.Execute "DELETE * FROM " & tabelle.Name
        End If
    Next
    wks.CommitTrans
    inTrans = False
    DelEverythingInAllTables = True
    If blnCompact Then    'Code kopiert von www.donkarl.com FAQ 6.6
        CommandBars("Menu Bar"). _
            Controls("Extras"). _
            Controls("Datenbank-Dienstprogramme"). _
            Controls("Datenbank komprimieren und reparieren..."). _
            accDoDefaultAction
    End If

ExitHere:
    On Error Resume Next
    Set dbs = Nothing
    Set wks = Nothing
    Exit Function
HandleErr:
    DelEverythingInAllTables = False
    Select Case Err.number
      Case Else
        If inTrans = True Then wks.Rollback
        MsgBox "Fehler Nr. " & Err.number & _
               " in Function: DelEverythingInAllTables" & _
               vbCrLf & vbCrLf & Err.Description, vbExclamation, "Warnung"
        Resume ExitHere
    End Select
End Function
Über das Funktionsargument kann gesteuert werden, ob die DB anschliessend komprimiert werden soll (damit werden auch die Autowerte zurückgesetzt) oder nicht.

Die Funktion kann z.B. über einen Button aufgerufen werden, bei dem im Ereignis beim Klicken
Code:
 = DelEverythingInAllTables(True)
steht. Soll die DB nicht komprimiert werden, muss als Argument False angegeben werden.
Im VBA-Editor muss unter Extras der Verweis auf Microsoft DAO 3.x gesetzt sein.

Beim Test der Funktion in einer Testdatenbank ist noch das Problem aufgetreten, das einzelne Datensätze nicht gelöscht wurden, die Ursache muss ich noch suchen. In diesem Fall hilft vorerst ein nochmaliges Anklicken des Buttons.

_________________
Lg, Michael

Dein Feedback hilft auch anderen - vergiß es nicht!
Willi Wipp
Moderator


Verfasst am:
23. Nov 2005, 10:32
Rufname:
Wohnort: Raum Wiesbaden


Re: Alle Daten aus allen Tabellen löschen - Re: Alle Daten aus allen Tabellen löschen

Nach oben
       

Hi gaga (stpimi), schoene Loesung!

Nachfragen zum Thema bitte in Alle Daten aus allen Tabellen löschen {Nachgefragt} stellen.


Zuletzt bearbeitet von Willi Wipp am 01. Jul 2009, 13:12, insgesamt einmal bearbeitet
der-quest
(Access-)VBA-Programmierer


Verfasst am:
30. Jun 2009, 16:44
Rufname:
Wohnort: Hamburg

AW: Alle Daten aus allen Tabellen löschen - AW: Alle Daten aus allen Tabellen löschen

Nach oben
       

Danke, stpimi!

Deine Funktion hat mir gerade einiges an Zeit gespart (und wird sie auch in Zukunft).

Gruß
derArb
getting better


Verfasst am:
01. Jul 2009, 06:13
Rufname: derArb
Wohnort: Berlin

AW: Alle Daten aus allen Tabellen löschen - AW: Alle Daten aus allen Tabellen löschen

Nach oben
       

hallo,

danke Gaga_ Stipmi
genialer Code.......manno manno.

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
volkerhanf
Im Profil kannst Du frei den Rang ändern


Verfasst am:
02. Jan 2011, 15:46
Rufname:


AW: Alle Daten aus allen Tabellen löschen - AW: Alle Daten aus allen Tabellen löschen

Nach oben
       

Genial!!! 1000 Dank

Gruß Volker
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Inkonsistenzsuche löschen 1 Kevin 1017 18. Mai 2004, 13:27
stpimi Inkonsistenzsuche löschen
Keine neuen Beiträge Access Tabellen & Abfragen: Zwei Tabellen zusammenfügen und Nullwerte überschreiben 1 m.hataj 1304 13. Mai 2004, 18:10
faßnacht(IT); Zwei Tabellen zusammenfügen und Nullwerte überschreiben
Keine neuen Beiträge Access Tabellen & Abfragen: kriterium - datensatz nur in einer von zwei tabellen 3 budking82 1000 11. Mai 2004, 12:59
budking82 kriterium - datensatz nur in einer von zwei tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage erstelen, die zwei tabellen vergleicht 2 pucky 802 27. Apr 2004, 10:53
ProLogistik Abfrage erstelen, die zwei tabellen vergleicht
Keine neuen Beiträge Access Tabellen & Abfragen: Abgleich von 2 tabellen in access 2003 4 Fierce 1719 16. Apr 2004, 08:27
el_gomero Abgleich von 2 tabellen in access 2003
Keine neuen Beiträge Access Tabellen & Abfragen: nicht-atomare Daten aus EXCEL importieren 2 Panther 908 29. März 2004, 16:33
Panther nicht-atomare Daten aus EXCEL importieren
Keine neuen Beiträge Access Tabellen & Abfragen: datensatz aus mehreren Tabellen im formular anzeigen 1 SixPack 1197 29. März 2004, 10:53
Willi Wipp datensatz aus mehreren Tabellen im formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erzeugen; kopieren 7 DiplomandSPS 1323 25. März 2004, 10:01
fridgenep neue Tabellen erzeugen; kopieren
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellen verknüpfen 1 darkblue82 802 05. März 2004, 12:00
lothi Tabellen verknüpfen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten als Spaltenüberschriften einer anderen Tabelle 1 Melburnt 685 03. März 2004, 17:11
lothi Daten als Spaltenüberschriften einer anderen Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Nachfrage beim Löschen/Einfügen unterdrücken 5 Deva 1908 04. Feb 2004, 16:49
borstel Nachfrage beim Löschen/Einfügen unterdrücken
Keine neuen Beiträge Access Tabellen & Abfragen: Daten anfügen doppelte Datensätze überschreiben 1 Uli 3838 04. Feb 2004, 14:21
Gerd_ Daten anfügen doppelte Datensätze überschreiben
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps