Seite 1 von 2

Laufzeitfehler Objektvariable nicht belegt

Verfasst: So, 19.05.2019 11:29
von AlexD
Hi,

ich nutze folgende Makro:
Sub openForm
ThisDatabaseDocument.FormDocuments.getByName("s").open
End Sub
Das Formular heißt "s" und ist vorhanden. Wenn ich das Makro aber ausprobiere bekomme ich die Fehlermeldung "Basic-Laufzeitfehler Objektvariable nicht belegt"

Was mache ich falsch?

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: So, 19.05.2019 13:29
von F3K Total
Moin,
wenn ich deinen Code ausprobiere, bekomme ich mit AOO unter Windows 7 folgenden Fehler:
noConnection.png
noConnection.png (16.47 KiB) 9871 mal betrachtet
Wie die Fehlermeldung sagt, fehlt die Verbindung zur Dantenbank. Wenn man in den Tabellenbeich klickt, ein Formular oder eine Abfrage von Hand öffnet, wird diese Verbindung von BASE hergestellt.
Startet man also dein Makro aus einem geöffneten Formular, kommt es nicht zu der Fehlermeldung.
Willst du aber ein Formular direkt nach dem Öffnen von Base öffnen muss man dem Makro zwei Zeilen hinzufügen, um die Verbindung per Makro zu erzeugen:

Code: Alles auswählen

Sub openForm
    oController = ThisDatabaseDocument.currentController
    if not oController.isConnected then oController.Connect
    ThisDatabaseDocument.FormDocuments.getByName("s").open
End Sub 
Die Beispieldatei funktioniert bei mir.
Gruß R

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: So, 19.05.2019 21:07
von AlexD
Herzlichen Dank, aber ich bekomme immer noch eine Fehlermeldung, auch bei deiner Test DB.

Bildschirmfoto 2019-05-19 um 21.04.02.png
Bildschirmfoto 2019-05-19 um 21.04.02.png (24.17 KiB) 9831 mal betrachtet

Jemand eine Idee woran das liegen könnte? Das OO ist gerade frisch installiert.

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Mo, 20.05.2019 16:57
von F3K Total
Hi,
wie hast du denn welches Makro gestartet?
Bist du sicher, das meine, enthalten in der .odb-Datei, gestartet zu haben?
Gruß R

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Mo, 20.05.2019 17:08
von AlexD
OO beendet, Download geöffnet. Passiert nix. Dann über Extra - Makro - Makro ausfüren, das Makro ausgeführt. Dann kommt der Fehler und das Makro steht in der ersten Zeile.

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Mo, 20.05.2019 17:14
von F3K Total
erstmal die Datei lokal speichern...
Gruß R

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Mo, 20.05.2019 17:25
von AlexD
klar, die Datei habe ich runtergeladen, und dann gestartet....

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Mo, 20.05.2019 21:59
von RobertG
Hallo Alex,

ich habe die Datei runter geladen, gestartet, das Makro wie von Dir beschrieben gestartet und das Formular ging auf. Wenn so etwas wie "Variable nicht definiert" kommt, dann deutet das darauf hin, dass irgendwo

Code: Alles auswählen

Option Explicit
definiert sein könnte.
Dann musst Du

Code: Alles auswählen

DIM oController AS OBJECT
in die Prozedur aufnehmen.

Gruß

Robert

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Mo, 20.05.2019 22:21
von AlexD
Danke, ich hab das ergänzt, leider erhalten ich beim Testen nach wie vor die Fehlermeldung
Bildschirmfoto 2019-05-20 um 22.20.17.png
Bildschirmfoto 2019-05-20 um 22.20.17.png (72.3 KiB) 9714 mal betrachtet

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Di, 21.05.2019 03:41
von acco
Moin Alex,
ich denke Du führst das falsche Makro aus. Dein Bildschirmfoto zeigt, dass du das unter "[Meine Makros & Dialoge].Standard" befindliche Makro ausführst und nicht das in der s.odb integrierte, wie es F3K Total bereits vermutete. Siehe mein Bildschirmfoto. Mit dem integrierten Makro klappt es.
Gruß acco

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Di, 21.05.2019 11:20
von AlexD
Ahh, jetzt habe ich es auch gerafft, grr, sorry.

Wenn ich das Makro manuell jetzt von der richtigen Position starte funktioniert es.

Wenn ich aber das "richtige" Makro jetzt automatisch starten lassen möchte dann stürzt OO ab.

Hab mal das Log hier in eine txt kopiert, vielleicht kann jemand was damit anfangen.

https://www.dropbox.com/s/hcwppftppxuc2vs/oo.txt?dl=0

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Di, 21.05.2019 16:25
von F3K Total
Ick kann zwar mit dem Logfile nichts anfangen, aber was genau meinst du mit
AlexD hat geschrieben: Di, 21.05.2019 11:20Wenn ich aber das "richtige" Makro jetzt automatisch starten lassen möchte dann stürzt OO ab.
An welches Ereignis hast du es denn gebunden?
Wenn ich das Makro an "Ansicht wurde erzeugt" hänge, habe ich keine Probleme...Beispiel wieder anbei ...
Gruß R

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Mi, 22.05.2019 18:28
von AlexD
makro.jpg
makro.jpg (139.75 KiB) 9488 mal betrachtet

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Mi, 22.05.2019 19:12
von F3K Total
ANSICHT WURDE ERZEUGT, drei Zeilen tiefer...
Manno

Re: Laufzeitfehler Objektvariable nicht belegt

Verfasst: Do, 23.05.2019 06:29
von AlexD
F3K Total hat geschrieben: Mi, 22.05.2019 19:12 ANSICHT WURDE ERZEUGT, drei Zeilen tiefer...
Damit das Makro bei Start ausgeführt wird muss "Ansicht wurde erzeugt" gewählt werden ?

Wie dem auch sei, OO stürzt dann immer ab, egal ob mit der Testdatei, oder mit meiner Datei