Makro zum Öffnen einer Abfrage per Schaltfläche

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Benutzeravatar
schane65
****
Beiträge: 153
Registriert: Fr, 11.03.2005 18:19
Wohnort: Visbek

Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von schane65 »

Hallo !

Ich habe eine kleine Datenbank mit mehreren Abfragen und möchte nun mittels eines Makros mit einem Schalter die jeweiligen Abfragen direkt von einem Formular aus öffnen. Leider habe ich keine Ahnung von Makros.

Kann jemand helfen?


Gruß ANdy
YumYum
Beiträge: 6
Registriert: Mo, 13.07.2009 12:02

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von YumYum »

Schau dir mal meinen Post an (YumYum). In ihm kannst du den Link zu einem Makro finden, das per Schaltfläche ein "NEUES" Formular öffnet. Mit "neu" ist gemeint, das sich der Inhalt (dein eigenständig erstelltes Formular) leider nicht im selben, sondern in einem neuen Fenster öffnet.

Bei der "Unterstützung", die einem unter anderem auch in diesem Forum widerfährt, sollte man sich doch besser von dem "Ich probier mal "Open", weil die "Community" ist der bessere Weg!" Gedanken schnellst möglich verabschieden.

Das zeichnen von neuem Inhalt im Originalanwendungsfenster ist in so ziemlich jeder EDV mit GUI eine Selbstverständlichkeit. Das man dafür in Base Makros einsetzen muss, die überdies noch selbst gestaltet werden müssen, kann niemand, der ernsthaft den Umstieg auf diese Software prüft, auch bei noch so gutem Willen ,als innovativ auslegen.

Ich Habe Zwei Anfragen, mit ähnlichem Inhalt gestellt:

die Erste wandelt nach wie vor auf Solopfaden (deine hätte dieses Schicksal sicherlich geteilt)

auf die Zweite wurde zwar anfänglich regiert, jedoch erlosch das Interesse zusehens, als es darum ging, das mit dem "Originalanwendungsfenster" zu eruieren.

ich hoffe dir einen brauchbaren Tip gegeben zu haben, wenn ich ich hab´s wenigstens probiert!
Benutzeravatar
schane65
****
Beiträge: 153
Registriert: Fr, 11.03.2005 18:19
Wohnort: Visbek

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von schane65 »

Hallo !

Ich weiß nicht, was du mit Post gemeint hast, ich finde keinen Link. Im Übrigen möchte ich kein Formular aufrufen, sondern eine fertige Abfrage. Ich habe es schon mal mit einem Makro probiert, welches mir ein Formular öffnet, es jedoch nicht hinbekommen.


Gruß Andreas
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von eBayer »

Hallo Andreas,
wo siehst Du ein Problem bei Deiner Aufgabenstellung?
1. Erstelle ein Formular als Menü
2. Platziere auf dem Formular für jede Abfrage einen PushButton auf dem Formular
3. Erstelle ein Formular für jede Deiner Abfragen und verknüpfe das jeweilige Formular mit der Abfrage als Datenquelle

So kannst Du die relativ stupide Anzeige der Abfrage im Formular beliebig gestalten, was mit ein paar Mausklicks möglich ist.
Um die PushButtons mit dem jeweiligen Formular zu verbinden, brauchst Du jeweils ein kleines Makro. (3-Zeiler)
Wenn Du bereit bist, Dich etwas mit ooBase zu beschäftigen, sollte das wirklich kein Problem für Dich sein.
Falls Du Probleme mit der oben beschriebenen Vorgehensweise haben solltest, melde Dich. Es wird sich immer jemand finden, der Dir weiterhilft - wenn zu erkennen ist, daß Du selbst bereit bist etwas zu lernen.
Hilfe zur Selbsthilfe ist hier die Überschrift!
Vor allem lasse Dich nicht von ewigen Nörglern beeinflussen! ooBase ist zwar noch nicht vergleichbar mit Access, aber es bietet trotzdem fast alles, was man sich wünschen kann - lernen mußt Du hier wie dort. Und nochwas.... oOffice ist kostenlos!
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
YumYum
Beiträge: 6
Registriert: Mo, 13.07.2009 12:02

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von YumYum »

Ok der linkPost klappt nicht recht.

Geh´ zurück auf die Hauptseite, dorthin wo dein Post auch gelistet ist und suche nach YumYum. Drauf klicken, ich glaube "Layout ändern" war das Thema, und dort findest du einen funktionierenden Link, der dich direkt zu dem code führt.

Grüße
Benutzeravatar
schane65
****
Beiträge: 153
Registriert: Fr, 11.03.2005 18:19
Wohnort: Visbek

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von schane65 »

Hallo !

Ich würde mich über einen solchen Dreizeiler auch freuen, da ich mit der Erstellung des Makro so meine Probleme habe. Formulare und Abfragen sind nicht das Problem. Vielleicht kann ich hier mal den Code posten, wie man ein Formular mittels einer Schaltfläche öffnet. Man muss nur den Formularnamen entsprechend ändern und es klappt tadellos.

Sub Formular_aufrufen_Januar

dim sFormularName as string

dim aFormulare()

dim arg(1) as New com.sun.star.beans.PropertyValue

sFormularName = "Januar"



oContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")

oDatenbank = oContext.getByName(StarDesktop.CurrentComponent.getParent.getLocation())

oVerb = oDatenbank.getConnection("","")

arg(0).Name = "OpenMode"

arg(0).Value = "open"

arg(1).Name = "ActiveConnection"

arg(1).Value = oVerb



StarDesktop.CurrentComponent.getParent.getFormDocuments().loadComponentFromURL(sFormularName,"Januar", 0, Arg())

End Sub


Das Makro ist nicht von mir, sondern wurde in einem anderen Forum gepostet und ich denke, man sollte für sowas echt dankbar sein. Vielleicht mag ja jetzt auch jemand eine Makro für eine Abfrage posten.


Danke

Andreas
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von komma4 »

Andreas,

wenn Du den Code, den Du postest, nicht in die CODE-Tags setzt, dann wird -je nach Bildschirmauflösung- ein Teil abgeschnitten und ist nicht lesbar.


Zu Deiner Frage:
"eine Abfrage öffnen" ... Du meinst, innerhalb einer BASE-Datei das Gleiche erreichen, wie bei einem Doppelklick?
Dazu gibt es keine API, und ein dispatcher-call dazu ist mir auch nicht bekannt.
Ansonsten beherzige den Rat von eBayer - nehme ein Formular und verbinde das mit der Abfrage.
Dann kommst Du mit Deinem Code -der wurde übrigens hier auch schon mehrfach gepostet [Suchfunktion!]- zum Ziel.

Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
schane65
****
Beiträge: 153
Registriert: Fr, 11.03.2005 18:19
Wohnort: Visbek

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von schane65 »

Hallo !

Wusste nicht, dass dieser Code schon des öfteren gepostet wurde.
Aber wenn es nichts anderes für Abfragen gibt, werde ich den Rat wohl befolgen.


Danke
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von eBayer »

Hallo, unter 3.1 wäre es ein echter 3-Zeiler.
Da ich nicht weiß, welche Version Du im Einsatz hast, gebe ich Dir lieber eine allgemein gültige Variante:
1. einen 3-Zeiler, der mit dem jeweiligen PushButton zu verbinden ist
2. "Sub OpenForm(sForm)" - Dieses ist der eigentliche Aufruf des Formulars.
Gruß und viel Erfolg
eBayer

Sub OpenFormMeinFormular
OpenForm("MeinFormular")
End Sub

Sub OpenForm(sForm) ' allgemein gültiges Makro zum Start der Formulare. Aufruf: OpenForm("Formularname")
Dim args(1) As New com.sun.star.beans.PropertyValue
Dim container As Variant, oForm As Variant
Dim oContext As Variant, oSource As Variant, oCon As Variant

oContext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oSource = oContext.getByName( "DeineDatenbank" )
oCon = oSource.getConnection( "" , "" )
container = oCon.Parent.DatabaseDocument.FormDocuments

args(0).Name = "ActiveConnection"
args(0).Value = oCon
args(1).Name = "OpenMode"
args(1).Value = "open"
oForm = container.loadComponentFromURL(sForm,"_blank",0,args())
With oForm.getCurrentController().getFrame().getContainerWindow()
End With
End Sub
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Benutzeravatar
schane65
****
Beiträge: 153
Registriert: Fr, 11.03.2005 18:19
Wohnort: Visbek

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von schane65 »

Hallo eBayer !

Danke erstmal. Ich werde es heute mal ausprobieren. Im Moment muss ich leider noch OO 2.4 verwenden, aber bald 3.1. Vielleicht haste ja schon mal vorab den Dreizeiler für OO 3.1.
Fragen habe ich aber noch mal:
Entnehme ich der ganzen Diskussion hier, dass es kein Makro gibt, welches mir die Abfrage direkt öffnet? Geht es nur über das Erstellen eines Formulars mit der Abfrage?
Wenn dem so ist, kann ich meine Datenbank diesbezüglich fertig machen, kein Problem. Wenn es jedoch eins gibt, würde ich mich freuen, es über eben diese Alternative zu probieren.

Gruß

Andreas
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von komma4 »

Andreas,

was ist für Dich "eine Abfrage öffnen"?

Innerhalb einer BASE-Datei kannst Du eine Abfrage doppelklicken, die daraufhin die ermittelten Daten in einem Tabellengitter anzeigt. Möchtest Du das? Dann siehe mein Post von 03.08.09 22:44


Ansonsten müssen Abfragedaten ja irgendwie dargestellt werden ... und das passiert mit der Bindung an ein Formular.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
schane65
****
Beiträge: 153
Registriert: Fr, 11.03.2005 18:19
Wohnort: Visbek

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von schane65 »

Hallo !

ebayer, habe deine Antwort nicht richtig durchgelesen. Somit erübrigt sich die Frage bzgl. des Dreizeilers.

Und für komma4:

Das hatte ich schon verstanden und nun auch wohl endgültig die Frage, ob es ein Makro zum Öffnen einer Abfrage gibt. Das ist nicht der Fall, also mit Formular arbeiten.


Danke trotzdem nochmal an alle.


Gruß Andy
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von eBayer »

Hallo Andy,
warum habe ich dir dann soviel dazu geschrieben, wenn du es nicht liest.
finde das ist nicht fair! glaube mal nicht, daß es spaß macht, wenn man sich ehrlich bemüht und dann lesen muß, daß du es ja nicht so genau gelesen hast. Dann solltest Du Dir eine andere Hilfe suchen!
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Benutzeravatar
schane65
****
Beiträge: 153
Registriert: Fr, 11.03.2005 18:19
Wohnort: Visbek

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von schane65 »

Hallo eBayer !

So war das nicht gemeint. Dein Posting vom 3.8.09 beinhaltet das Makro für OO 2.4, dann habe ich gelesen, dass du 1. und 2. geschrieben hast. Das hatte ich überlesen, mehr nicht. Ich bin dir für deine Hilfe wirklich dankbar.
Jetzt habe ich mich aber wohl wieder geirrt und gedacht, der erste Dreizeiler sei das Makro fur OO 3.1. Das war aber wohl nicht so, da es bei mir nicht funktioniert. Ich habe es mit der 3.1 Version ausprobiert.


Gruß Andreas
Benutzeravatar
schane65
****
Beiträge: 153
Registriert: Fr, 11.03.2005 18:19
Wohnort: Visbek

Re: Makro zum Öffnen einer Abfrage per Schaltfläche

Beitrag von schane65 »

Hallo !

Wenn es um Makros geht, bin ich ein Anfänger und ich habe mal nachgeschaut, was du da für eine Fehlermeldung hast. In den Makros, die ich gepostet habe, sehe ich diese Zeile gar nicht. Überprüfe das erstmal, ok?


Gruß Andy
Antworten