Makro zum Öffnen einer Abfrage per Schaltfläche
Moderator: Moderatoren
Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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!
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!
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
- 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
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!
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)
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)
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
- 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
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.
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)
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)
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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, 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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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
Re: Makro zum Öffnen einer Abfrage per Schaltfläche
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
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