Laufzeitfehler Objektvariable nicht belegt

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

AlexD
Beiträge: 9
Registriert: So, 19.05.2019 11:25

Laufzeitfehler Objektvariable nicht belegt

Beitrag von AlexD » So, 19.05.2019 11:29

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?

F3K Total
********
Beiträge: 3381
Registriert: Mo, 28.02.2011 17:49

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von F3K Total » So, 19.05.2019 13:29

Moin,
wenn ich deinen Code ausprobiere, bekomme ich mit AOO unter Windows 7 folgenden Fehler:
noConnection.png
noConnection.png (16.47 KiB) 2353 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
Dateianhänge
S.odb
(21.97 KiB) 43-mal heruntergeladen

AlexD
Beiträge: 9
Registriert: So, 19.05.2019 11:25

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von AlexD » So, 19.05.2019 21:07

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) 2313 mal betrachtet

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

F3K Total
********
Beiträge: 3381
Registriert: Mo, 28.02.2011 17:49

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von F3K Total » Mo, 20.05.2019 16:57

Hi,
wie hast du denn welches Makro gestartet?
Bist du sicher, das meine, enthalten in der .odb-Datei, gestartet zu haben?
Gruß R

AlexD
Beiträge: 9
Registriert: So, 19.05.2019 11:25

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von AlexD » Mo, 20.05.2019 17:08

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.

F3K Total
********
Beiträge: 3381
Registriert: Mo, 28.02.2011 17:49

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von F3K Total » Mo, 20.05.2019 17:14

erstmal die Datei lokal speichern...
Gruß R

AlexD
Beiträge: 9
Registriert: So, 19.05.2019 11:25

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von AlexD » Mo, 20.05.2019 17:25

klar, die Datei habe ich runtergeladen, und dann gestartet....

RobertG
*******
Beiträge: 1793
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von RobertG » Mo, 20.05.2019 21:59

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

AlexD
Beiträge: 9
Registriert: So, 19.05.2019 11:25

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von AlexD » Mo, 20.05.2019 22:21

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) 2196 mal betrachtet

acco
***
Beiträge: 52
Registriert: So, 04.05.2014 19:54

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von acco » Di, 21.05.2019 03:41

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
Dateianhänge
S.odb.png
S.odb.png (43.8 KiB) 2169 mal betrachtet
openSUSE 13.1, LibreOffice 4.3.2.2

AlexD
Beiträge: 9
Registriert: So, 19.05.2019 11:25

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von AlexD » Di, 21.05.2019 11:20

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

F3K Total
********
Beiträge: 3381
Registriert: Mo, 28.02.2011 17:49

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von F3K Total » Di, 21.05.2019 16:25

Ick kann zwar mit dem Logfile nichts anfangen, aber was genau meinst du mit
AlexD hat geschrieben:
Di, 21.05.2019 11:20
Wenn 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
Dateianhänge
S.odb
(22.08 KiB) 42-mal heruntergeladen

AlexD
Beiträge: 9
Registriert: So, 19.05.2019 11:25

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von AlexD » Mi, 22.05.2019 18:28

makro.jpg
makro.jpg (139.75 KiB) 1970 mal betrachtet

F3K Total
********
Beiträge: 3381
Registriert: Mo, 28.02.2011 17:49

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von F3K Total » Mi, 22.05.2019 19:12

ANSICHT WURDE ERZEUGT, drei Zeilen tiefer...
Manno

AlexD
Beiträge: 9
Registriert: So, 19.05.2019 11:25

Re: Laufzeitfehler Objektvariable nicht belegt

Beitrag von AlexD » Do, 23.05.2019 06:29

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

Antworten