Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access startet nicht, nach Datenbank verschieben

Begonnen von Waldis, August 14, 2016, 21:35:39

⏪ vorheriges - nächstes ⏩

Waldis

Schönen Abend erst mal.

Für meinen Verein würde ich gerne ein "Progrämmchen" machen, um Ergebnisse einzutragen. Dabei hab ich mich nun für Access entschieden und betrete damit völliges Neuland.

Makros hab ich schon ein wenig kapiert, VBA na ja, kommt wohl noch^^.

Die Daten habe ich mit Access in eine Backend-Datenbank ausgelagert, um das Programm einfach ändern zu können, ohne die Datenbank anzufassen.

Da das Ding nicht für mich ist, ändern sich logischerweise die Verzeichnisse und da ist mein Problem. Access startet nicht mehr. Beim Stöbern hab ich schon gelesen, dass man nach dem Starten die Datenbank neu verknüpfen soll usw. Aber soweit komm ich gar nicht. Es kommt nur die Startseite von Access, wo die zuletzt geöffneten Dokumente angezeigt werden.

Dann hab ich eine AutoExec angelegt und damit das folgende Skript geöffnet, welches die Datenbanken nach dem Start prüft und neu verknüpfen soll:
http://www.dbwiki.net/wiki/VBA_Tipp:_Neuverkn%C3%BCpfen_des_Backends

Wenn das Verzeichnis den Ursprungsnamen hat, durchläuft er es und zeigt auch an, dass die Verlinkungen passen.
Ändere ich den Verzeichnisnamen, packt er aber nicht mal AutoExec. Es kommt wieder die Startoberfläche von Access. :(

Die Dateien liegen im gleichen Ordner. Aber wenn das jemand im Verein nutzt, kann ich es ja nicht jedem einrichten und die Verzeichnisse heißen auch anders. Und wieder zusammenlegen würde ich es auch ungern, immerhin ist das Updaten dann ein wenig komplizierter.

Warum bricht er bereits vor dem Programmstart ab, wenn ich im Netz lese, dass man nach dem Start die Tabellen neu verknüpfen kann? Er müsste lediglich das AutoExec Makro aufrufen und durchlaufen, dann würde wieder alles passen.

Bin nu etwas ratlaos. Kann mir da irgendeiner helfen? ???
Wäre ich echt dankbar.  :)

MaggieMay

Hallo,

wie lautet denn der Code des AutoExec-Makros, wie wird die Funktion aufgerufen?

Du musst einen gültigen Pfad übergeben, woher nimmst du den?
Freundliche Grüße
MaggieMay

Waldis

Hi,

also der Hauptcode vom Modul ist der aus meinem Link oben.

Das AutoExec Makro führt per "AusführenCode" die RelinkDbStart() Funktion aus.

Die wiederum ruft die Funktion RelinkDB aus dem verlinkten Skript auf und übergibt das aktuelle Verzeichnis. Wobei ich mir da nicht sicher bin, ob er das von dem Frontend oder Backend nimmt.  :-\
Public Function RelinkDbStart()
    Call RelinkDb(Application.CurrentProject.Path)
End Function


Aber selbst wenn ich direkt die RelinkDb aufrufe und den Pfad übergebe, komm ich nicht weiter.

Wie gesagt, das Programm wird nicht einmal aufgerufen. Es kommt sofort die Access-Startoberfläche, wie wenn ich Access direkt öffnen würde.

Beaker s.a.

Hallo,
ZitatWobei ich mir da nicht sicher bin, ob er das von dem Frontend oder Backend nimmt.
DU musst dafür sorgen, dass da der neue Pfad des Backends übergeben wird.

Zum Startproblem; - kannst du das Projekt fehlerfrei kompilieren?
Falls ja, versuche das AutoExec-Macro zu löschen, an den Anfang der Funktion
einen Haltepunkt zu setzen und die Funktion manuell im Direktfenster zu starten.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Waldis

#4
Den Pfad selbst übergeben, habe ich versucht. Hab den Pfad direkt rein geschrieben.

Kompilieren geht, es taucht auch kein Fehler auf.
AutoExec gelöscht und Haltepunkt gesetzt und gestartet. Aber da passiert gar nichts, ist das richtig?

Das komische ist ja, dass es bereits ohne AutoExec und dem Skript nicht gestartet ist.
Selbst wenn ich Access öffne und dann über "öffnen" die Datenbank auswähle, passiert nach einem Klick auf "ok" rein gar nichts. Nicht mal ne Fehlermeldung. Beim öffnen kommt immer nur die Startseite.

Ändere ich den Verzeichnisnamen auf den alten ab, geht wieder alles.

Edit:
Hmm, gerade mal so ne "Kontakte"-Vorlage erstellt und diese verschoben. Wenn ich die starte, kommt automatisch ne Fehlermeldung, dass der Pfad nicht gefunden wird. Skript eingebaut und mit Application.CurrentProject.Path den Pfad ermittelt und schon tut's bei der Vorlage.

Also muss ich bei meinem Skript irgendwas verhunzt haben, weswegen der bereits vorm Start anschmiert, ohne überhaupt eine Fehlermeldung zu bringen oder die AutoExec zu öffnen. :(

Edit2:
Nun geht's auf einmal. Aber kein Schimmer warum. AutoExec nochmal raus und wieder rein. Dann kam ständig das Debug-Fenster beim Start. Verzeichnisnamen geändert, Datenbank gestartet und schwups geht es, es werden alle Datenbankverknüpfungen aktualisiert. Das kapier nun wer will.

Trotzdem danke für die Hilfe.