Eingabe aus Listbox eines Formulars auslesen
Moderator: Moderatoren
Eingabe aus Listbox eines Formulars auslesen
Hallo zusammen!
Ich habe ein kleines Problem mit einer Listbox unter Base.
Ich habe eine Datenbank erstellt, die zur Verwaltung von Musikalben dienen soll. Nun kann ich in einer Listbox beispielsweise die Musikrichtung Pop auswählen. Jetzt möchte ich erreichen, das mir in der nächsten Listbox nur noch die Popalben angezeigt werden. Meine Frage ist jetzt, wie kann ich die Auswahl der Listbox "Musikrichtung" auslesen, und in eine neue "SELECT" Anweisung einbinden?
Hoffe das ich mich einigermaßen verständlich ausgedrückt habe. Bin leider noch ziemlich neu in diesem Bereich.
Mfg Daniel
Ich habe ein kleines Problem mit einer Listbox unter Base.
Ich habe eine Datenbank erstellt, die zur Verwaltung von Musikalben dienen soll. Nun kann ich in einer Listbox beispielsweise die Musikrichtung Pop auswählen. Jetzt möchte ich erreichen, das mir in der nächsten Listbox nur noch die Popalben angezeigt werden. Meine Frage ist jetzt, wie kann ich die Auswahl der Listbox "Musikrichtung" auslesen, und in eine neue "SELECT" Anweisung einbinden?
Hoffe das ich mich einigermaßen verständlich ausgedrückt habe. Bin leider noch ziemlich neu in diesem Bereich.
Mfg Daniel
Re: Eingabe aus Listbox eines Formulars auslesen
Moin Daniel!
Habe hier quasi dasselbe Problem wie Du:
Gegeben ist ein Subform "Subform_Ergebnisse" in dem ich ein Feld "gruppe" über eine Werteliste (Zahlen 1-5) auswählen lasse. Auf dieser Basis soll dann im nächsten Feld "disziplin" zur Auswahl des Feldinhalts ein Select auf die Tabelle laufen, in der neben den Zahlen 1-5 dann die zugehörigen Werte hinterlegt sind. Wenn also in "gruppe" "1" ausgewählt wurde, dann sollen nur die Disziplinen mit Gruppenkenner "1" zur Auswahl geboten werden.
"Eigentlich" kann es doch nicht so schwierig sein, einem Select-Statement den Inhalt eines Formulars als Parameter zu übergeben, auch wenn der noch nicht in der Db abgelegt ist, weil die Eingabe dieses Datensatzes ja noch nicht abgeschlossen wurde...
Bin gespannt, ob wir Antworten erhalten. Bis dahin wühl ich mich mal weiter durch die Historie hier im Forum. Das Prob gab es irgendwann bestimmt schon mal
Gruß,
Mike
Habe hier quasi dasselbe Problem wie Du:
Gegeben ist ein Subform "Subform_Ergebnisse" in dem ich ein Feld "gruppe" über eine Werteliste (Zahlen 1-5) auswählen lasse. Auf dieser Basis soll dann im nächsten Feld "disziplin" zur Auswahl des Feldinhalts ein Select auf die Tabelle laufen, in der neben den Zahlen 1-5 dann die zugehörigen Werte hinterlegt sind. Wenn also in "gruppe" "1" ausgewählt wurde, dann sollen nur die Disziplinen mit Gruppenkenner "1" zur Auswahl geboten werden.
"Eigentlich" kann es doch nicht so schwierig sein, einem Select-Statement den Inhalt eines Formulars als Parameter zu übergeben, auch wenn der noch nicht in der Db abgelegt ist, weil die Eingabe dieses Datensatzes ja noch nicht abgeschlossen wurde...
Bin gespannt, ob wir Antworten erhalten. Bis dahin wühl ich mich mal weiter durch die Historie hier im Forum. Das Prob gab es irgendwann bestimmt schon mal

Gruß,
Mike
Re: Eingabe aus Listbox eines Formulars auslesen
Hey Mike
Ja klingt nach dem gleichen Problem
Sag mal bescheid wenn Du was gefunden hast. Ich verzweifel hier nämlich langsam wirklich. Kann doch nicht so schwer sein.
Gruß Daniel
Ja klingt nach dem gleichen Problem

Sag mal bescheid wenn Du was gefunden hast. Ich verzweifel hier nämlich langsam wirklich. Kann doch nicht so schwer sein.
Gruß Daniel
Re: Eingabe aus Listbox eines Formulars auslesen
Moin Daniel!
So, einen Schritt weiter bin ich jetzt: Ich bastel mit folgendem Makro rum, dass ich hier im Forum gefunden habe:
Sub Feldinhalt_Gruppe_ermitteln
Dim oDoc as Object,oDocCtl as Object, oForm as Object, oFeld as Object, oFeld2 as Object
Dim oFeldView as Object, oFeld2View as Object
Dim inhalt as String
oDoc = ThisComponent
oDocCtl = oDoc.getCurrentController()
oForm = oDoc.drawpage.forms("Sub_Form_Ergebnisse")
Bis hier läuft es fehlerfrei, aber dann kommt die nächste Zeile:
inhalt= thisComponent.drawpage.forms.getByName("Sub_Form_Ergebnisse").getByName("Gruppe").Value
Das soll den Inhalt des Feldes "Gruppe" im Subform "Sub_Form_Ergebnisse" ermitteln. Das Subform hat er ja offensichtlich erkannt, sonst hätte ich eine Zeile eher ja schon eine Fehlermeldung bekommen müssen. In diesem Subform gibt es auch das Feld "Gruppe", sowohl als Titel als auch "Name", Schreibweise jeweils genau so.
Trotzdem kommt die Fehlermeldung "Type: com.sun.star.container.NoSuchElementException Message: ."
Tja, und dann bricht das Makro natürlich ab
Wo mach ich nur den Denkfehler...
Gruß,
Mike
So, einen Schritt weiter bin ich jetzt: Ich bastel mit folgendem Makro rum, dass ich hier im Forum gefunden habe:
Sub Feldinhalt_Gruppe_ermitteln
Dim oDoc as Object,oDocCtl as Object, oForm as Object, oFeld as Object, oFeld2 as Object
Dim oFeldView as Object, oFeld2View as Object
Dim inhalt as String
oDoc = ThisComponent
oDocCtl = oDoc.getCurrentController()
oForm = oDoc.drawpage.forms("Sub_Form_Ergebnisse")
Bis hier läuft es fehlerfrei, aber dann kommt die nächste Zeile:
inhalt= thisComponent.drawpage.forms.getByName("Sub_Form_Ergebnisse").getByName("Gruppe").Value
Das soll den Inhalt des Feldes "Gruppe" im Subform "Sub_Form_Ergebnisse" ermitteln. Das Subform hat er ja offensichtlich erkannt, sonst hätte ich eine Zeile eher ja schon eine Fehlermeldung bekommen müssen. In diesem Subform gibt es auch das Feld "Gruppe", sowohl als Titel als auch "Name", Schreibweise jeweils genau so.
Trotzdem kommt die Fehlermeldung "Type: com.sun.star.container.NoSuchElementException Message: ."
Tja, und dann bricht das Makro natürlich ab

Wo mach ich nur den Denkfehler...
Gruß,
Mike
Re: Eingabe aus Listbox eines Formulars auslesen
Hallo,
ich habe mal vor einiger Zeit eine Testanwendung (Dateianhang) erstellt, in der Ihr alles finden solltet, was Euch bei der Lösung hilft.
Achtung: das Programm kann nicht ohne weiteres verändert werden.
Deshalb vor Installation der Anwendung die beiliegende ZIP_Datei entpacken und die README-Datei lesen!
In SampleDB.ini wird die Verhaltensweise der Anwendung bestimmt..... einafach mal reinschauen.
Laßt Euch nicht von den ausgeblendeten ooBase-Menues stören. Ihr braucht ja nicht alles von dem was im Beispielprogramm enthalten ist, verwenden.
Gruss und viel Erfolg
eBayer
ich habe mal vor einiger Zeit eine Testanwendung (Dateianhang) erstellt, in der Ihr alles finden solltet, was Euch bei der Lösung hilft.
Achtung: das Programm kann nicht ohne weiteres verändert werden.
Deshalb vor Installation der Anwendung die beiliegende ZIP_Datei entpacken und die README-Datei lesen!
In SampleDB.ini wird die Verhaltensweise der Anwendung bestimmt..... einafach mal reinschauen.
Laßt Euch nicht von den ausgeblendeten ooBase-Menues stören. Ihr braucht ja nicht alles von dem was im Beispielprogramm enthalten ist, verwenden.
Gruss und viel Erfolg
eBayer
- Dateianhänge
-
- SampleDB.zip
- (121.14 KiB) 206-mal heruntergeladen
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: Eingabe aus Listbox eines Formulars auslesen
Moin eBayer!
Werd ich mir schnellstmöglich ansehen und weiterbasteln
Danke und Gruß,
Mike
Werd ich mir schnellstmöglich ansehen und weiterbasteln

Danke und Gruß,
Mike
Re: Eingabe aus Listbox eines Formulars auslesen
Servus!!
Danke Ebayer!Werde ich mir sofort mal zu gemüte ziehen.
Mfg Daniel
Danke Ebayer!Werde ich mir sofort mal zu gemüte ziehen.
Mfg Daniel
Re: Eingabe aus Listbox eines Formulars auslesen
Hallo,
Bei mir funktioniert das so, aber mit einem Textfeld:
MainForm und SubForm wurden beim Erstellen eines Datenbank-Formulars automatisch erstellt und die Textfelder dann entsprechend in die einzelnen Forms plaziert.
Beim Zugriff hatte ich dann das Problem, auf das Textfeld in der SubForm nicht zugreifen zu koennen.
Der Tip von Mike Alias "lugflev" hat mir dann den Weg gezeigt.
Also Danke
Wolf
Bei mir funktioniert das so, aber mit einem Textfeld:
Code: Alles auswählen
dim oDoc as Object
dim TextInhalt as Object
dim Text as String
oDoc = thisComponent
TextInhalt= oDoc.drawpage.forms.getbyName("MainForm").getByName("SubForm").getbyName("txtLink")
Text = TextInhalt.Text
MsgBox Text
Beim Zugriff hatte ich dann das Problem, auf das Textfeld in der SubForm nicht zugreifen zu koennen.
Der Tip von Mike Alias "lugflev" hat mir dann den Weg gezeigt.
Also Danke
Wolf