Seite 1 von 1

Fehlermeldung bei Makro Formular öffnen

Verfasst: Fr 23. Aug 2013, 21:06
von Herbert
Ich bin ein Neuling und habe folgendes Makro aus dem Internet geholt:

SUB Zu_Formular_von_Formular(oEvent AS OBJECT)
DIM stTag AS String
stTag = oEvent.Source.Model.Tag 'Tag wird unter den Zusatzinformationen eingegeben
aForm() = Split(stTag, ",") 'Hier steht zuerst der Formularname für das neue Formular, dann der für das alte Formular
ThisDatabaseDocument.FormDocuments.getByName( Trim(aForm(0)) ).open
ThisDatabaseDocument.FormDocuments.getByName( Trim(aForm(1)) ).close
END SUB

Wenn ich dies der Schaltfläche zuordne, kommt die Meldung:

Makroprogrammierungsfehler beim Ausführen des Befehls vnd.sun.star.script: Test.Modul1.openForm?language=Basic&location=application geschrieben in Basic
Mensaje: The following Basic script coult no de found:
library: Test
module:module1method:openForm
location: application

Was habe ich ändern, damit dies funktioniert?

Ich verwende Base 4.0, Betriebssystem Windows

Herzlichen Dank für Tips.

Re: Fehlermeldung bei Makro Formular öffnen

Verfasst: Fr 23. Aug 2013, 21:22
von RobertG
Hallo Herbert,

die Fehlermeldung passt eigentlich gar nicht zum Makro. Da steht etwas von Test.Modul1.openForm
Das Makro hat nicht die Bezeichnung openForm. Das wird aufgerufen mit "Zu_Formular..."
Um das Makro lauffähig zu haben brauchst Du
1. eine Base-Datei, in der die Formulare liegen (es geht also nicht auf diese Weise mit externen Formularen, sondern nur mit dort abgelegten)
2. Mindestens 2 Formulare, in denen Du jeweils einen Button zum Erreichen des anderen Formulars liegen hast. Die Formulare heißen einfach einmal "Form1" und "Form2".
3. Der Button in "Form1" muss bei den Zusatzinformationen stehen haben "Form2,Form1"
4. Das Makro wird an das Ereignis "Aktion ausführen" gekoppelt.

Das Ganze findest Du auch noch einmal im Handbuch beschrieben und in der Beispieldatenbank "Medien_mit_Makros.odb" angewandt.

Gruß

Robert

Re: Fehlermeldung bei Makro Formular öffnen

Verfasst: Sa 24. Aug 2013, 00:49
von Herbert
Hallo Robert

Besten Dank für die Antwort-

Diese Bedingungen sind erfüllt. Die Formulare in Base erstellt. Das Makro abgespeichert in der Biblothek Test. Bei den Einzelschritten, erscheint bei

stTag = oEvent.Source.Model.Tag 'Tag wird unter den Zusatzinformationen eingegeben

folgende Fehlermeldung:

Lauafzeitfehler. Das Argument ist nicht optional.

Diese Meldung erscheint auch wenn ich diese Linie lösche, bei "ThisDatabaseDocument.FormDocuments.getByName( Trim(aForm(0)) ).open".

Re: Fehlermeldung bei Makro Formular öffnen

Verfasst: Sa 24. Aug 2013, 08:20
von RobertG
Hallo Herbert,

wenn Du eine Fehlermeldung bekommst, weil Du bei stTag nichts stehen hast (Argument ist nicht optional), dann fehlt der Punkt 3 meiner Beschreibung:
3. Der Button in "Form1" muss bei den Zusatzinformationen stehen haben "Form2,Form1"
Du musst die Eigenschaften des Buttons bearbeiten. Unter dem Reiter "allgemein" findest Du ein Feld "Zusatzinformation". Da teilst Du das mit, was als oEvent.Source.Model.Tag ausgelesen wird. Und an dieser Stelle steht bei Dir vermutlich gar nichts. Da muss der Name des zu öffnenden Formulars und der Name des zu schließenden Formulars, getrennt durch ein Komma, stehen.

Gruß

Robert

Re: Fehlermeldung bei Makro Formular öffnen

Verfasst: Sa 24. Aug 2013, 16:10
von Herbert
Hallo Robert,

Der erste Teil des Makros ist gelöst. Ich hatte die Zusatzinformation mit zuviel Anführungszeichen eingegeben.

Allerdings meldet das Makro nun folgenden Fehler: "Laufzeitfehler. Keine gültige Variable" bei "ThisDatabaseDocument.FormDocuments.getByName( Trim(aForm(0)) ).open". Dabei ist der ganze Satz markiert.

Danke für deine Unterstützung.

Gruss Herbert

Re: Fehlermeldung bei Makro Formular öffnen

Verfasst: Sa 24. Aug 2013, 16:40
von RobertG
Hallo Herbert,

"keine gültige Variable" hatte ich, soweit ich weiß, noch nie. Du kannst, wenn die Fehlermeldung kommt, einmal mit der Maus über den Begriff stTag fahren. Dann wird angezeigt, was der Inhalt dieser Variablen ist. Das sollte ein Inhalt ganz ohne Anführungszeichen sein. Es stehen darin die beiden Formularnamen, nur durch ein Komma getrennt.

Ich habe das jetzt einmal als Beispiel ohne weiteren Inhalt angehängt.

Gruß

Robert

Re: Fehlermeldung bei Makro Formular öffnen

Verfasst: Di 27. Aug 2013, 21:57
von Herbert
Hallo Robert

Dein mir zugestelltes Makro funktioniert super. Wieso das gleiche Makro in meiner erstellten Datenbank nicht funktioniert, habe ich nicht herausgefunden. Daher habe ich die Tabellen und Formulare in deine Datenbank kopiert. Und jetzt funktioniert's.

Herzlichen Dank für deine Unterstützung.
Herbert