Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Hilfe: Tricky Problem: Andere DB komprimieren
zurück: VB-Frage: 'freie' Suche in Textbox (mit Platzhalter) weiter: If-Else Schleife funktioniert nicht richtig Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
derFuxx
Halbwissen in Excel, Access und VBA


Verfasst am:
19. Okt 2008, 23:32
Rufname:
Wohnort: Rhein-/Neckargebiet


Hilfe: Tricky Problem: Andere DB komprimieren - Hilfe: Tricky Problem: Andere DB komprimieren

Nach oben
       Version: Office 2003

Hi,

ich stecke irgendwie in einer Zwickmühle und komme nicht weiter.

Ich habe meine Datenbank in ein Backend und Frontend aufgeteilt. Im FE befindet sich ein Übersichtsmanager. Die Applikation kann nur geschlossen werden, wenn auf dem Switchboard Exit angeklickt wird (realisiert durch ein Unsichtbares Formular siehe FAQ 1.12 Schließen der Datenbank verhindern). Wenn dies geschieht, möchte ich das das Backend automatisch komprimiert. Damit dies nicht passiert, während noch ein User drin ist, habe ich eine Tabelle in der DB, in die die User beim Starten eingetragen und am Ende wieder gelöscht werden. Bevor nun komprimiert wird, schaue ich ob noch Datensätze in der Tabelle sind. Der Code sieht so aus:
Code:
Public Function closeApplication() As Boolean
    Forms("frm_Invisible_Form_Allow_Close").Controls("cb_close_allowed") = True
    deleteUser 'Trage mich selber aus der Tabelle aus
    Call Forms("Switchboard").deleteConRst 'Setz Rst und Con auf Nothing
    closeFormsExceptInvisibleOne 'das unsichtbare Formular bleibt erstmal offen
    If lastUser = True Then
        fctCompactOtherDB GetJetDBFromConnect("tbl_BI") 'siehe www.donkarl.com
    End If
    closeApplication = True
    Application.Quit acQuitPrompt
End Function
Wenn ich diese Funktion nun direkt in VBA aufrufe, funktioniert alles super. Das BE wird komprimiert und ich beende die Applikation.

Wenn ich das ganze nun allerdings vom Switchboard aus ausführe (Auf einem Button liegt die obige Funktion) meldet er
Zitat:
Fehler 3356: Versucht DB zu öffnen, die bereit exklusiv vom User Admin auf Computer "DerFuxx" geöffnet ist.
Donkarl schreibt (FAQ 6.7 Andere MDB komprimieren), das es nicht geht wenn ein Formular oder Recordset geöffnet ist, das auf der DB basiert. Genau hier wird das Problem liegen, da es ja beim direkten starten der Funktion geht, vom Switchboard jedoch nicht.

Um dieses zu umgehen, schließe ich in der Sub closeFormsExceptInvisibleOne alle Formulare mit Ausnahme meines unsichtbarem. Weiterhin setze ich das Recordset und die Connection, die das Switchboard verwendet auf Nothing (rst auch .close). Hierzu habe ich die entsprechenden Variablen in den Modulkopf geschrieben und eine öffentliche Prozedur gemacht die diese entweder "set'ed" bzw. deleted.

Hat nun nicht funktioniert. Ich hoffe dringend, das mir einer der Experten helfen kann Razz Willi? ^^

Ich denke, das das Problem darin liegt, das der Code ja aus einer Sub vom Switchboard aufgerufen wird und dieses erst tatsächlich geschlossen ist, wenn diese Sub abgearbeitet ist, obwohl ich in meiner Funktion
Code:
    DoCmd.Close acForm "Switchboard"
aufrufe. Ganz schön tricky. Weiß jemand, wie ich Access da austricksen kann? Question

Vielen Dank.
Gruß derFuxx
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 Programmierung / VBA: Access 2010 via VBA Komprimieren 5 MurphyR 2352 29. Nov 2012, 21:25
steffen0815 Access 2010 via VBA Komprimieren
Keine neuen Beiträge Access Programmierung / VBA: Datenbank komprimieren per Button 9 patrick280 2744 07. Nov 2012, 14:13
ChEffE Datenbank komprimieren per Button
Keine neuen Beiträge Access Programmierung / VBA: DB in Front- u. Backend geteilt. Verknüpfungen, Komprimieren 4 derbesteschmitt 291 19. Sep 2011, 09:54
derbesteschmitt DB in Front- u. Backend geteilt. Verknüpfungen, Komprimieren
Keine neuen Beiträge Access Programmierung / VBA: DB komprimieren in Runtime Version 6 SebastianB. 720 18. Jan 2010, 15:02
SebastianB. DB komprimieren in Runtime Version
Keine neuen Beiträge Access Programmierung / VBA: Datenbank per VBA komprimieren 11 Haeffy 1827 03. Nov 2009, 15:36
HannesB Datenbank per VBA komprimieren
Keine neuen Beiträge Access Programmierung / VBA: Datenbank per VBA komprimieren 1 frodo111 1119 15. Jul 2009, 10:30
frodo111 Datenbank per VBA komprimieren
Keine neuen Beiträge Access Programmierung / VBA: Komprimieren in laufender Prozedur 8 wm_andi 314 27. Jan 2009, 15:23
helado Komprimieren in laufender Prozedur
Keine neuen Beiträge Access Programmierung / VBA: Fehler 3027 nach Komprimieren 9 Tazz85 1407 14. Nov 2008, 00:12
KlausMz Fehler 3027 nach Komprimieren
Keine neuen Beiträge Access Programmierung / VBA: Trennen von BE und komprimieren 3 Yak 293 22. Okt 2008, 09:43
eiskalterengel Trennen von BE und komprimieren
Keine neuen Beiträge Access Formulare: Komprimieren und Reparieren 4 romae 2818 03. Jun 2008, 13:12
romae Komprimieren und Reparieren
Keine neuen Beiträge Access Hilfe: 97er MDB läßt sich weder komprimieren noch konvertieren 12 Job100 693 16. Nov 2007, 16:34
Willi Wipp 97er MDB läßt sich weder komprimieren noch konvertieren
Keine neuen Beiträge Access Programmierung / VBA: Komprimieren bei Runtime 5 Hintifax 1527 24. Aug 2007, 12:06
Hintifax Komprimieren bei Runtime
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Dreamweaver Forum