Seite 1 von 1
per Button Abfrage bzw. Bericht öffnen
Verfasst: So 20. Mai 2012, 16:34
von Fabiii
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
Re: per Button Abfrage bzw. Bericht öffnen
Verfasst: So 20. Mai 2012, 16:58
von swolf
Re: per Button Abfrage bzw. Bericht öffnen
Verfasst: So 20. Mai 2012, 17:02
von Fabiii
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
Re: per Button Abfrage bzw. Bericht öffnen
Verfasst: So 20. Mai 2012, 17:36
von gogo
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 ...
Re: per Button Abfrage bzw. Bericht öffnen
Verfasst: So 20. Mai 2012, 17:57
von Fabiii
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
Re: per Button Abfrage bzw. Bericht öffnen
Verfasst: So 20. Mai 2012, 18:06
von swolf
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.
Re: per Button Abfrage bzw. Bericht öffnen
Verfasst: So 20. Mai 2012, 18:21
von gogo
"Report" ist englisch und heisst auf Deutsch übersetzt "Bericht" ... du wirst also mit ".ReportDocuments." Berichte ansprechen können
... 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.
Re: per Button Abfrage bzw. Bericht öffnen
Verfasst: So 24. Feb 2013, 13:58
von Pubert
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
Re: per Button Abfrage bzw. Bericht öffnen
Verfasst: So 24. Feb 2013, 15:50
von RobertG
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:
Das weist an, dass alle Variablen vorher eindeutig deklariert werden müssen.
Gruß
Robert