none
Funktionen und Prozeduren für mehere Datenbanken

    Frage

  • Hallo zusammen,

    ich habe 2 Datenbanken laufen (2x Frontend und 2x Backend).

    Beide sind ganz unabhänig voneinander, also keine gemeinsamen Daten.

    Es gibt aber Funktionen und Prozeduren, die ich für beide nutze. Jetzt dachte ich, lege ich mir eine Funktions accdb an und speichere dort in ein Modul diese gemeinsamen Funktionen. Ich kann sie dann ja unter den Verweisen mit einbinden.

    Das ist alles ganz gut und schön, aber wie kann ich die Funktionsdatenbank dann aufrufen und ändern?

    Auch beim exklusiven Öffen meldet er bei Änderungen, dass ich keinen exklusiven Zugang habe und ein anderer Benutzer die Datenbank verwendet.

    Es ist aber lediglich nur der Verweis in einer anderen DB vorhanden.

    Wie kann ich Änderungen dort speichern?


    Liebe Grüße, die Luzie!

    Dienstag, 3. Juli 2012 19:46

Antworten

  • Grundsätzlich solltest Du den Code in der gelinkten MDB direkt aus der Anwendung ändern können, indem Du mit der rechten Maustaste auf "Definition" klickst. Dann sollte der Code im VBA Editor geöffnet werden.

    Ich selber empfehle bei solchen Bibliotheken immer, entweder eine MDE zu verwenden und dann den Code in der MDB zu ändern und anschliessend eine neue MDE zu erstellen. Zusätzlich empfehle ich vor der Auslieferung der Anwendung als MDE den Code der Bibliotheks MDB in die Anwendungs MDB rein zu kopieren, den Verweis zu entfernen und dann die MDE zu erstellen. Du hast mit diesem Ansatz wesentlich weniger Verweisprobleme und bist auch ganz sicher, dass die "Library" auch in 10 Jahren in dieser MDE noch kompatibel vorhanden ist, auch wenn Du diese bereits zig Male geändert hast.

    Gruss

    Henry

    • Als Antwort markiert Luzie Sonntag, 8. Juli 2012 07:20
    Donnerstag, 5. Juli 2012 11:08

Alle Antworten

  • Es ist aber lediglich nur der Verweis in einer anderen DB vorhanden.

    Hallo Luzie,

    der Verweis reicht schon aus, das beim Öffnen der referenzierenden MDB die referenzierte MDB mit geöffnet wird. Das ist auch so, wenn Du eine DLL referenzierst, auch die wird gesperrt, weil sie sich im Zugriff befindet.

    Du musst alle anderen MDBs die auf diese Funktions MDB verweisen, schließen, damit sie nicht mehr im Zugriff ist.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Mittwoch, 4. Juli 2012 05:16
  • Hallo

    also die DBs waren geschlossen, es war alles geschlossen. Es kann aber sein, dass sich noch einen ungelöschte lbl Datei im Verzeichnis befand.Das kann ich jetzt nicht mehr nachschauen.

    Aber ich habe es trotzdem gelassen. Es hat zwar mit dem Verweis funktioniert, und ich konnte die Prozedur ansprechen, aber nach dem nochmaligen Starten der Datenbank ging gar nix mehr. Sogar die Datenbank, die keinen Verweis auf die Funktionsdb hatte, suchte Tabellen, die eindeutig da waren. Es kam eine Fehlermeldung nach der nächsten, zum Schluss habe nur noch den Verweis entfernt und den Rechner neu gestartet.


    Liebe Grüße, die Luzie!

    Mittwoch, 4. Juli 2012 05:38
  • Grundsätzlich solltest Du den Code in der gelinkten MDB direkt aus der Anwendung ändern können, indem Du mit der rechten Maustaste auf "Definition" klickst. Dann sollte der Code im VBA Editor geöffnet werden.

    Ich selber empfehle bei solchen Bibliotheken immer, entweder eine MDE zu verwenden und dann den Code in der MDB zu ändern und anschliessend eine neue MDE zu erstellen. Zusätzlich empfehle ich vor der Auslieferung der Anwendung als MDE den Code der Bibliotheks MDB in die Anwendungs MDB rein zu kopieren, den Verweis zu entfernen und dann die MDE zu erstellen. Du hast mit diesem Ansatz wesentlich weniger Verweisprobleme und bist auch ganz sicher, dass die "Library" auch in 10 Jahren in dieser MDE noch kompatibel vorhanden ist, auch wenn Du diese bereits zig Male geändert hast.

    Gruss

    Henry

    • Als Antwort markiert Luzie Sonntag, 8. Juli 2012 07:20
    Donnerstag, 5. Juli 2012 11:08
  • Hallo

    vielen Dank für die Antwort.

    Das heißt also, ich muss die Verweise bei Änderungen immer wieder entfernen, auch wenn die jeweils andere Datenbank geschlossen ist.

    Da ich noch tief in der "Entwicklung" bin, lege ich mir das an den Schluss. :) Ich brauche dann später noch noch das Modul zu übertragen.


    Liebe Grüße, die Luzie!

    Sonntag, 8. Juli 2012 07:22