[GELÖST]Berichte per Listbox wählen und per Button ausführen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

gerald3659
*
Beiträge: 19
Registriert: Di, 14.12.2010 07:55

[GELÖST]Berichte per Listbox wählen und per Button ausführen

Beitrag von gerald3659 »

Hallo die Chracks.

ich möchte folgendes bewerkstelligen:

Grundlage:
Ich habe eine Datenbank mit 4Berichten. Da können jedoch noch welche hinzukommen.

Deshalb möchte ich eine Routine schreiben die folgendes macht.
1. erkennen welche Berichte sich in der Datenbank befinden.
2. Eintragen der Berichte in ein Listenfeld - am liebsten NICHT aufklappbar.
3. gewählten Bericht mit einem Button öffnen.

Ich bin ACCESS-Umsteiger. Dort war das so, dass man die Tabelle Mircrosoft-Objects in eine Abfrage nach Typ ausgelesen hat. Wie mache ich das aber in OOo

Ehrlich - Keine Ahnung!

Im Voraus besten Dank.
Zuletzt geändert von gerald3659 am Fr, 12.08.2011 11:57, insgesamt 2-mal geändert.
Nur tote Fische schwimmen mit dem Strom
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Berichte über Listenfeld auswählen und per Button ausfüh

Beitrag von F3K Total »

Hallo Gerald,
ich wollte es mal ausprobieren, funktioniert mit zwei Makros:

Code: Alles auswählen

sub find_reports_fill_Listbox
olistbox=thiscomponent.drawpage.forms.MainForm.lstReports
oreports=thisDatabasedocument.reportdocuments
oreportsEnum=oreports.createenumeration
i=0
while oreportsEnum.hasmoreelements
oreport=oreportsEnum.nextelement
oListbox.insertItemText(i,oreport.name)
i=i+1
wend
end sub


sub open_report (event)
olistbox=event.source.model
oItem=olistbox.selectedItems(0)
oreportname=olistbox.StringItemList(oItem)
oreport=thisDatabasedocument.reportdocuments.getByName(oreportname)
oreport.open
end sub
Schau mal im Formular "Personen und Geräte" in der angehängten Datei nach.
Ich komme ohne Button aus, einfach den Bericht wählen und er wird geöffnet.

Beste Grüße R
Dateianhänge
EDV-Geräte.odb
(50.48 KiB) 143-mal heruntergeladen
gerald3659
*
Beiträge: 19
Registriert: Di, 14.12.2010 07:55

Re: Berichte über Listenfeld auswählen und per Button ausfüh

Beitrag von gerald3659 »

Geile Lösung!

Leider hat sie einen Nachteil. Ich muss jedes mal wenn ein neuer Bericht erstellt wird diesen in die Werteliste eintragen. Oder sehe ich das falsch?
Außerdem stellt sich mir die Frage:
WO wird er dann in der Werteliste eingetragen. Einfach anhängen oder in der Reihenfolge, wie die Berichte im Frontend aufgeführt sind?

Am geilsten fände ich es wenn ich ein Formular Drucken öffne. Darin sind schon alle Berichte in einem Listenfeld enthalten.

Mit Access habe ich sowas schon gemacht.

Abfrage erstellen auf die Tabelle Mysysobjects.
Name und Typ auslesen und sortieren lassen.
als Grundlage für Listenfeld verwenden
fertig.
Geht das auch? Die Frage stellt sich mir deswegen, weil es dann nicht notwendig ist bei jedem erstellten Bericht neu ins Programm einzugreifen.
Das machts dem Programmierer und dem Anwende zum Schluss einfacher.

Ich weiss ich bin unverschämt. Die Lösung die du gebastelt hast ist schon toll.

Beste Grüße
Gerald
Nur tote Fische schwimmen mit dem Strom
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Berichte über Listenfeld auswählen und per Button ausfüh

Beitrag von F3K Total »

Hallo Gerald
gerald3659 hat geschrieben:Leider hat sie einen Nachteil. Ich muss jedes mal wenn ein neuer Bericht erstellt wird diesen in die Werteliste eintragen. Oder sehe ich das falsch?
Ja, das siehst Du falsch, erstelle einfach einen neuen Bericht und mach das Formular auf. Dann sollte sich die Liste ändern.
Wenn dies nicht der Fall sein sollte: Öffne das Formular im Entwurfsmodus, dann Extras/Anpassen/Ereignisse und verknüpfe mit dem Ereignis "Dokument öffnen" das Makro "find_reports_fill_Listbox".Speichern.
gerald3659 hat geschrieben:WO wird er dann in der Werteliste eingetragen. Einfach anhängen oder in der Reihenfolge, wie die Berichte im Frontend aufgeführt sind?
Die Listbox wird in der Reihenfolge gefüllt, in der die Berichte im Frontend aufgeführt sind, alphabetisch.
gerald3659 hat geschrieben:Am geilsten fände ich es wenn ich ein Formular Drucken öffne. Darin sind schon alle Berichte in einem Listenfeld enthalten.
Du wirst es wohl schaffen, das Listenfeld in ein eigenes Formular "Drucken" zu bringen?
gerald3659 hat geschrieben:Ich weiss ich bin unverschämt
Genau, und darum kümmerst Du dich darum, wie du die Berichte ausdrucken kannst, bitte selber.
Tip: "StarbasicFaq" googeln

Gruß R
gerald3659
*
Beiträge: 19
Registriert: Di, 14.12.2010 07:55

Re: Berichte über Listenfeld auswählen und per Button ausfüh

Beitrag von gerald3659 »

Junge DU bist genial.

Habe Deine Tipps alle befolgt und es klappt einwandfrei.
Herzlichen Dank für die schnelle Hilfe.
Meine Reports stehen und werden auch richtig eingefügt
Klasse
Nur tote Fische schwimmen mit dem Strom
Antworten