🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

per Button Abfrage bzw. Bericht öffnen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Fabiii
Beiträge: 39
Registriert: Sa 19. Mai 2012, 13:50

per Button Abfrage bzw. Bericht öffnen

Beitrag von Fabiii » So 20. Mai 2012, 16:34

Hallo,
ich habe ein Formular das "Formular1" heißt.
In diesem Formular habe ich 2 Button Button.
Ich will dass wenn ich auf den 1. Button drücke, sich die "Abfrage1" öffnet und wenn ich auf den 2. Button drücke der "Bericht2".
Das Formular soll sich dann schließen.
Ich habe ein Makro um ein Formular zu öffnen und das andere Formular schließt sich:

Code: Alles auswählen

REM  *****  BASIC  *****

SUB Formularwechsel_Form1_Form2
	ThisDatabaseDocument.FormDocuments.getByName("Formular1").open
	ThisDatabaseDocument.FormDocuments.getByName("Formular2").close
END SUB
Was muss ich ändern um einen Bericht bzw. eine Abfrage zu öffnen ???

Bitte um Antwort
Vielen Dank für eure Bemühungen

Gruß
Fabi

swolf
* LO-Experte *
Beiträge: 1143
Registriert: Di 14. Feb 2012, 16:56

Re: per Button Abfrage bzw. Bericht öffnen

Beitrag von swolf » So 20. Mai 2012, 16:58


Fabiii
Beiträge: 39
Registriert: Sa 19. Mai 2012, 13:50

Re: per Button Abfrage bzw. Bericht öffnen

Beitrag von Fabiii » So 20. Mai 2012, 17:02

Hallo,
vielen Dank für deine Antwort.
Der Code sieht aber sehr kompliziert aus.
Gibt es da keinen so simplen wie der für Formulare halkt nur für Abfragen und Berichte

Code: Alles auswählen

REM  *****  BASIC  *****

SUB Formularwechsel_Form1_Form2
	ThisDatabaseDocument.FormDocuments.getByName("Formular1").open
	ThisDatabaseDocument.FormDocuments.getByName("Formular2").close
END SUB
Gruß
Fabi

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: per Button Abfrage bzw. Bericht öffnen

Beitrag von gogo » So 20. Mai 2012, 17:36

Ersetze einfach "FormDocuments" durch "ReportDocuments".

Ad Abfrage:

eine Abfrage ist im wesentlichen ein SQL-Select-Statement, das in der Tabellenansicht dargestellt wird - um eine Abfrage in der Tabellenansicht anzusehen wäre es am besten für die Abfrage ein Formular mit einem Tabellenkontrollfeld zu machen und dann dieses Formular zu öffnen ...
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Fabiii
Beiträge: 39
Registriert: Sa 19. Mai 2012, 13:50

Re: per Button Abfrage bzw. Bericht öffnen

Beitrag von Fabiii » So 20. Mai 2012, 17:57

Hallo,
dieser Code funktioniert irgendwie nicht:

Code: Alles auswählen

REM  *****  BASIC  *****

SUB Formularwechsel_Form1_Form2
	ThisDatabaseDocument.ReportDocuments.getByName("Abfrage2").open
	ThisDatabaseDocument.FormDocuments.getByName("Form2").close
END SUB
Wie geht es bei Berichten?? Die sind mir eigentlich wichtiger.

Gruß
Fabi

swolf
* LO-Experte *
Beiträge: 1143
Registriert: Di 14. Feb 2012, 16:56

Re: per Button Abfrage bzw. Bericht öffnen

Beitrag von swolf » So 20. Mai 2012, 18:06

dieser Code funktioniert irgendwie nicht:
was meinst du mit "irgendwie"?

Es wäre günstiger, wenn du konkret sein könntest (was passiert, Fehlermeldung, ...) ,
damit man nicht immer so viel rückfragen muss.

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: per Button Abfrage bzw. Bericht öffnen

Beitrag von gogo » So 20. Mai 2012, 18:21

"Report" ist englisch und heisst auf Deutsch übersetzt "Bericht" ... du wirst also mit ".ReportDocuments." Berichte ansprechen können :roll:

... und wie ich schon gesagt habe: Abfragen kannst Du "in der Oberfläche" eines extra dafür konstruierten Formulars ansehen!

btw: in diesem Forum wird Dir sicher geholfen werden, aber die Grundkenntnisse wie man mit Oberflächen und Makros umgeht wirst Du Dir selbst anlesen müssen.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Pubert
Beiträge: 1
Registriert: So 24. Feb 2013, 13:38

Re: per Button Abfrage bzw. Bericht öffnen

Beitrag von Pubert » So 24. Feb 2013, 13:58

Hallo,

Ich bin neu hier und auf den Thread gestoßen, weil ich aus einem Formular heraus per Button ein anderes Formular öffnen und das alte zugleich schließen möchte. Meine Datenbank heißt Versuchsdatenbank und ich habe die beiden Formulare PruefungenUebersichtFormular und Pruefungen_Formular erstellt.

In Pruefungen_Formular habe ich einen Button eingebaut und in dessen Eigenschaften beim Reiter "Events" im Feld "Execute action" auf ein Makro verlinkt. Dieses Makro enthält folgenden Inhalt:
----------------------------------------------------------------------------------
Sub Oeffne_PruefungenUebersicht
ThisDatabaseDocument.FormDocuments.getByName ("PruefungenUebersichtFormular").open
ThisDatabaseDocument.FormDocuments.getByName (Pruefungen_Formular").close
End Sub

----------------------------------------------------------------------------------------

Leider ist mir nicht ganz klar, ob Ich "ThisDatabaseDocument" durch meinen expliziten Namen "Versuchsdatenbank" ersetzen muss. Auch weiß ich nicht, ob ich den Befehl bzw die Funktion getByName() erst irgendwo bekannt machen muss, wie z.B. in einem C Programm, in dem ich im Kopf Header-Dateien einbinde um bestimmte Funktionen nutzen zu können (z.B. #include<math.h> für die Wurzelfunktion etc.)?!

So wie ich es jetzt implementiert habe erhalte ich beim Klicken des Buttons nur die Meldung "BASIC runtime error. Object variable not set." und sonst passiert weiter nichts.

Ich wäre sehr dankbar, wenn mir hier jemand helfen könnte. Anlass ist, dass ich für meine Schwägerin eine kleine Datenbank basteln will. Mit Access 2007 kann ich das auch ohne Probleme, da sich dort Makros für Formular öffnen automatisch generieren und intuitiv modifizieren lassen. Access steht mir aber nur auf der Arbeit zur Verfügung und meine Schwägerin hat es auch nicht. Bei LibreOffice Basic hänge ich an dieser Stelle leider gerade sehr :/

Freundliche Grüße
Simon

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: per Button Abfrage bzw. Bericht öffnen

Beitrag von RobertG » So 24. Feb 2013, 15:50

Hallo Simon,

zum einen ist Dir ein kleiner Schreibfehler unterlaufen:

Code: Alles auswählen

Sub Oeffne_PruefungenUebersicht
ThisDatabaseDocument.FormDocuments.getByName ("PruefungenUebersichtFormular").open
ThisDatabaseDocument.FormDocuments.getByName ("Pruefungen_Formular").close
End Sub
(Das vorletzte Anführungszeichen fehlte).
Zum anderen musst Du schon schreiben, wo Du das Makro denn eingebunden hast. Dieses Makro baut darauf, von einem Formular aus Base heraus gestartet zu werden, nicht von einem externen Formular. Das bedeutet das "ThisDatabaseDocument".
Wenn Du von einem externen Formular darauf zugreifen willst, dann brauchst Du eine Verbindung über den Namen der Datenbank, der in LO gegebenenfalls registriert ist. Außerdem geht eine Verbindung noch über die URL zur Datenquelle.
Wenn ein "Object variable not set." auftaucht, dann kann dies auch heißen, dass Du zu Beginn Deines Makrocodes stehen hast:

Code: Alles auswählen

Option Explicit
Das weist an, dass alle Variablen vorher eindeutig deklariert werden müssen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten