[GELÖST] Unterformular und abhängiges Listenfeld befüllen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [GELÖST] Unterformular und abhängiges Listenfeld befüllen

Re: Unterformular und abhängiges Listenfeld befüllen

von F3K Total » Di, 09.08.2011 10:43

Hi,
bei mir läuft es mit diesem Code:

Code: Alles auswählen

Sub UKatFuellen

       Dim sSQL(0) as string

       oDoc = ThisComponent
       oForm=oDoc.drawpage.forms.MainForm
       oFormsub=oForm.SubForm
       sKategorie = oForm.SubForm.SubForm_Grid.GeraeteArt.CurrentValue
       sSQL(0)= "SELECT ""GeraeteBezeichnung"" FROM ""Para_Werte"", ""Para_Klasse"" WHERE ""Para_Werte"".""ID_ParaKl"" = ""Para_Klasse"".""ID_ParaKl"" AND ""Para_Klasse"".""Name"" = '"+sKategorie+"'"
       oList=oForm.SubForm.SubForm_Grid.GeraeteBezeichnung
       oList.ListSource = sSQL()
       oList.refresh
    End Sub
Dem String sSQL fehlte noch so einiges, und ganz wichtig das oList.refresh

Viel Spaß
R

Re: Unterformular und abhängiges Listenfeld befüllen

von gerald3659 » Di, 09.08.2011 07:22

Hallo die Cracks,

ja aktivieren lässt sich das Feld,
aber es enthält keine Einträge.

Ich komm so nicht weiter.

Im Anhang habe ich mal meine Datenbank, sie ist ziemlich einfach, angehängt.
Dateianhänge
EDV-Geräte.odb
(25.02 KiB) 66-mal heruntergeladen

Re: Unterformular und abhängiges Listenfeld befüllen

von DPunch » Mo, 08.08.2011 18:44

Aloha
gerald3659 hat geschrieben:Wie gesagt, ich bekomme jetzt keine Fehlermeldung, aber ein leeres Listenfeld "Gerätebezeichnung".
Kannst Du das Feld akivieren?

Möglicherweise solltest Du mal eine Beispieldatei hochladen.

Re: Unterformular und abhängiges Listenfeld befüllen

von gerald3659 » Mo, 08.08.2011 07:35

Ich habe jetzt alle Schreibweisen überprüft, die sind korrekt. Wie gesagt, ich bekomme jetzt keine Fehlermeldung, aber ein leeres Listenfeld "Gerätebezeichnung".
Trotzdem danke für Deine bisherige HIlfe, hat mich ein gutes Stück weiter gebracht.

Re: Unterformular und abhängiges Listenfeld befüllen

von gerald3659 » Mo, 08.08.2011 07:23

Ich habs gerade gemacht.
Ich erhalte zumindest mal keine Fehlermeldung. Aber das Listenfeld bleibt leer. Mal nachsehen ob ich mich irgendwo vertippt habe bei derVariablendefinition. Gebe dann Rückmeldung.

Re: Unterformular und abhängiges Listenfeld befüllen

von F3K Total » Fr, 05.08.2011 21:26

Hallo Gerald,
versuche es mal hiermit:

Code: Alles auswählen

Sub UKatFuellen

   Dim sSQL(0) as string

   oDoc = ThisComponent
   oForm=oDoc.drawpage.forms.MainForm
   sKategorie = oForm.SubForm.SubForm_Grid.GeraeteArt.CurrentValue
   sSQL(0)= "SELECT ""Para_Werte"".""GeraeteBezeichnung"", ""Para_Klasse"".""Name"", ""Para_Werte.aktiv""FROM ""Para_Werte"",""Para_Klasse"" WHERE ""aktiv""= 0 and ""Para_Klasse"".""Name"" = "+sKategorie
   oList=oForm.SubForm.SubForm_Grid.GeraeteBezeichnung
   oList.ListSource = sSQL
End Sub
Gruß R

Re: Unterformular und abhängiges Listenfeld befüllen

von F3K Total » Fr, 05.08.2011 12:15

Hallo Gerald,
es tut mir Leid, die Sachen sind auch nicht nötig, ich habe mich verbastelt.
Du willst mit Deinem sSQL ja nur die Listsource füllen.
Mein Fehler. Ich lösche meine o.a. Beiträge.
Gruß R

Re: Unterformular und abhängiges Listenfeld befüllen

von gerald3659 » Fr, 05.08.2011 10:53

Da ich mich zu Anfang anscheinend falsch ausgedrückt habe hier mal ein paar Bilde von dem was ich vorhabe
1. meine Tabellen und Beziehungen
https://docs.google.com/leaf?id=0B-srrT ... ist&num=50

2. Meine Maske
https://docs.google.com/leaf?id=0B-srrT ... ist&num=50

In der Spalte neben "Art" soll die "Bezeichnung" abhängig von Art gefüllt werden.
Dazu dienen die Tabellen Para_Klassen und Para_Werte.

Die Spalte "Art" enthält alle Einträge aus der Tabelle Para_Klassen"
Nun soll die Spalte "Bezeichnung" abhängig vom ausgefüllten Feld in der Spalte "Art" mit Bezeichnungen aus der Tabelle Para_Werte gefüllt werden.

Ich raffe einfach nicht wie das funktioniert.
Die Links die Du mir geschickt hast waren mir zu kompliziert.

Besten Dank

Re: Unterformular und abhängiges Listenfeld befüllen

von F3K Total » Fr, 05.08.2011 08:08

gelöscht
Gruß R

Re: Unterformular und abhängiges Listenfeld befüllen

von F3K Total » Fr, 05.08.2011 08:03

gelöscht
Gruß R

Re: Unterformular und abhängiges Listenfeld befüllen

von gerald3659 » Fr, 05.08.2011 07:09

Hallo DPunch,

ich erhalte beim Austausch meiner Zeile

Code: Alles auswählen

    oList.ListSource = sSQL
durch deine Zeilenkombination

Code: Alles auswählen

oList.ListSourceType = com.sun.star.form.ListSourceType.SQL
oList.ListSource = Array(sSQL)
den gleichen Effect wie Vorher

Basic Laufzeitfehler: Objektvariable nicht belegt
Angemeckert wird jetzt die Zeile 1 deines Codeschnippsels
wie krieg ich den denn weg

Außerdem läßt sich ooo nicht sauber beenden Wie kriege ich das hin. Bei Laufzeitfehler muss ich ooo immer über den Taskmanager abschießen. Gibt es keinen anderen Weg?

Vielleicht noch als Hinweis: ich weiss nicht ob es wichtig ist. Die Listenfelder die ich befüllen will sind Teil eines Tabellenkontrollelements.

Re: Unterformular und abhängiges Listenfeld befüllen

von DPunch » Do, 04.08.2011 17:22

Aloha
gerald3659 hat geschrieben:Deshalb weiss ich im Moment nicht was schief läuft.
Ich weiss noch viel weniger, was schief läuft, solange Du nicht sagst, wo es hängt.

Mein Hinweis betraf die Zeile

Code: Alles auswählen

oList.ListSource = sSQL
die Du durch

Code: Alles auswählen

oList.ListSourceType = com.sun.star.form.ListSourceType.SQL
oList.ListSource = Array(sSQL)
ersetzen sollst.

Re: Unterformular und abhängiges Listenfeld befüllen

von gerald3659 » Do, 04.08.2011 07:27

Hallo DPunch

habe gestern abend noch bis 2 Uhr rumprobiert. Ich raffs nicht.

Kannst Du mir das mal angepasst zu meinem Code zeigen. Wie gesagt: Ich bin ein Newbie. Den Code den ich eingestellt habe habe ich aus dem Forum un dann anzupassen versucht. Deshalb weiss ich im Moment nicht was schief läuft.

Besten Dank im Voraus

Re: Unterformular und abhängiges Listenfeld befüllen

von gerald3659 » Mi, 03.08.2011 19:31

Ich hatte ursprünglich vor Parameter die nicht mehr gebraucht werden, im Listenfeld nicht mehr darstellen zu lassen. Ich habe aber gerade in einer kleinen Testversion gemerkt, dass dann auch die Daten in der Tabelle gelöscht werden. Dies ist allerdings nicht in meinem Sinn. Deshalb wer dich die Geschichte aktiv wieder rausnehmen.

Erst mal vielen Dank für deinen Tipp werde es ausprobrieren und rüclkmelden

Beste Grüße
Gerald

Re: Unterformular und abhängiges Listenfeld befüllen

von DPunch » Mi, 03.08.2011 17:24

Aloha

Code: Alles auswählen

oList.ListSource = sSQL
Das funktioniert so nicht. Die Eigenschaft "ListSource" erwartet immer eine Sequenz (Array). Zudem müsstest Du wohl noch ListSourceType anpassen, ala

Code: Alles auswählen

oList.ListSourceType = com.sun.star.form.ListSourceType.SQL
oList.ListSource = Array(sSQL)
Ich frage mich ausserdem gerade, warum Du in Deiner SQL-Abfrage für die ListSource 3 Felder (GeraeteBezeichnung, Name, aktiv) ausliest - damit kann das Listenfeld sowieso nichts anfangen.

Nach oben