Listbox fuellen
Moderator: Moderatoren
Listbox fuellen
Hallo Leute,
ich bin immer noch Lehrling und brauche mal Eure Hilfe. Ich habe zwei Tabellen. In der einen erfasse ich Fahrzeuge (BestandsListe), in der anderen Kosten für diese Fahrzeug.
In der BestandsListe versuche ich vergeblich im Dialog das Alter nach der Eingabe des Baujahres sichtbar zu machen. In der Personenliste hatte Stephan dies toll hinbekommen.
Nun wollte ich dies in der Bestandsliste genauso machen und scheitere kläglich.
In der Tabelle „Kosten“ kann ich zwar die Kennzeichen aus der BestandsListe heraussuchen lassen, doch ein Speichern ist nicht möglich. Selbst wenn ich alles herausnehme und nur die laufende Nummer speichern will, tut sich gar nichts. Irgend etwas mache ich falsch.
Mit Daten“Gültigkeit“ bzw. „SVERWEIS“ kann ich ja hier im Dialog nicht arbeiten.
Ob das Datum, so wie ich es haben möchte, richtig formatiert ist, weiß ich auch nicht. Auf der Suche bei Euch im Forum habe ich viele Möglichkeiten gefunden. Doch welche ist die richtige ?
Dann möchte ich auch noch sämtliche Einträge für ein Fz. aus der Tabelle Kosten als GesamtSumme in die BestandsListe eintragen lassen. Wie ich dies schaffen soll, bleibt für mich erst einmal ein Rätsel.
Übrigens: Ich wollte mich noch gar nicht mit „if“ und „then“ beschäftigen. Doch in der BestandsListe musste ich dennoch ran und habe es nach Stunden oder waren es Tage? geschafft.
Es wäre schön, auch wenn es sehr viel ist, wenn ihr mir helfen könnt. Vielleicht sogar mit einigen Erläuterungen im Modul, das wäre toll.
Bevor ich Mecker bekomme hier meine abgespeckte Version.
Gruß
Kalle
ich bin immer noch Lehrling und brauche mal Eure Hilfe. Ich habe zwei Tabellen. In der einen erfasse ich Fahrzeuge (BestandsListe), in der anderen Kosten für diese Fahrzeug.
In der BestandsListe versuche ich vergeblich im Dialog das Alter nach der Eingabe des Baujahres sichtbar zu machen. In der Personenliste hatte Stephan dies toll hinbekommen.
Nun wollte ich dies in der Bestandsliste genauso machen und scheitere kläglich.
In der Tabelle „Kosten“ kann ich zwar die Kennzeichen aus der BestandsListe heraussuchen lassen, doch ein Speichern ist nicht möglich. Selbst wenn ich alles herausnehme und nur die laufende Nummer speichern will, tut sich gar nichts. Irgend etwas mache ich falsch.
Mit Daten“Gültigkeit“ bzw. „SVERWEIS“ kann ich ja hier im Dialog nicht arbeiten.
Ob das Datum, so wie ich es haben möchte, richtig formatiert ist, weiß ich auch nicht. Auf der Suche bei Euch im Forum habe ich viele Möglichkeiten gefunden. Doch welche ist die richtige ?
Dann möchte ich auch noch sämtliche Einträge für ein Fz. aus der Tabelle Kosten als GesamtSumme in die BestandsListe eintragen lassen. Wie ich dies schaffen soll, bleibt für mich erst einmal ein Rätsel.
Übrigens: Ich wollte mich noch gar nicht mit „if“ und „then“ beschäftigen. Doch in der BestandsListe musste ich dennoch ran und habe es nach Stunden oder waren es Tage? geschafft.
Es wäre schön, auch wenn es sehr viel ist, wenn ihr mir helfen könnt. Vielleicht sogar mit einigen Erläuterungen im Modul, das wäre toll.
Bevor ich Mecker bekomme hier meine abgespeckte Version.
Gruß
Kalle
- Dateianhänge
-
- Test KostenPkw.ods
- (24.09 KiB) 139-mal heruntergeladen
Win 10 Pro, AOO 4.1.9
Re: Listbox fuellen
statt:In der BestandsListe versuche ich vergeblich im Dialog das Alter nach der Eingabe des Baujahres sichtbar zu machen. In der Personenliste hatte Stephan dies toll hinbekommen.
Nun wollte ich dies in der Bestandsliste genauso machen und scheitere kläglich.
Code: Alles auswählen
Dlg_Pkw.getControl("txt_alter").Text = Year(NOW())-Year(Dlg_Pkw.getControl("Baujahr").Text)
Code: Alles auswählen
Dlg_Pkw.getControl("txt_alter").Text = Year(NOW())-VAL(Dlg_Pkw.getControl("Baujahr").Text)
und das Makro Datum_pruefen() muss dem Ereignis "Bei Fokusverlust" des Feldes "Baujahr" zugeordnet werden.
ES gibt nicht eine Zeile Code dazu, woher soll man erkennen was Du falsch machst?In der Tabelle „Kosten“ kann ich zwar die Kennzeichen aus der BestandsListe heraussuchen lassen, doch ein Speichern ist nicht möglich. Selbst wenn ich alles herausnehme und nur die laufende Nummer speichern will, tut sich gar nichts. Irgend etwas mache ich falsch.
z.B. in Zelle Bestandsliste.E4 die Formel:Dann möchte ich auch noch sämtliche Einträge für ein Fz. aus der Tabelle Kosten als GesamtSumme in die BestandsListe eintragen lassen. Wie ich dies schaffen soll, bleibt für mich erst einmal ein Rätsel.
=SUMMEWENN(Kosten.B4:B100;B4;Kosten.H4:H100)
Gruß
Stephan
Re: Listbox fuellen
Hallo Stephan,
vielen Dank für die schnelle Antwort. Nun zerbreche ich mir den Kopf. In der Personenliste erschien ohne weiteres das Alter bereits nach Eingabe des Geb-Datums. Jetzt soll:
Dialoge sind für mich als Neuling ein Buch mit Siegeln ( 7 ist zu wenig) und es dauert ewig, bis ich etwas hinbekomme.
Gruß
Kalle
vielen Dank für die schnelle Antwort. Nun zerbreche ich mir den Kopf. In der Personenliste erschien ohne weiteres das Alter bereits nach Eingabe des Geb-Datums. Jetzt soll:
"Bei Fokusverlust" eine weitere Schaltfläche installiert werden ? Funktioniert nicht.das Makro Datum_pruefen() muss dem Ereignis "Bei Fokusverlust" des Feldes "Baujahr" zugeordnet werden.
In der Tabelle „Kosten“ kann ich zwar die Kennzeichen aus der BestandsListe heraussuchen lassen, doch ein Speichern ist nicht möglich. Selbst wenn ich alles herausnehme und nur die laufende Nummer speichern will, tut sich gar nichts. Irgend etwas mache ich falsch.
In "Sub Kosten_eingeben" stehen doch die Zeilen drin oder ist dies Unsinn ?ES gibt nicht eine Zeile Code dazu, woher soll man erkennen was Du falsch machst?
D.h. diese Formel muss in die Spalte "E" der BestandsListe übertragen werden. Dies bekomme ich sicherlich hin.=SUMMEWENN(Kosten.B4:B100;B4;Kosten.H4:H100)
Dialoge sind für mich als Neuling ein Buch mit Siegeln ( 7 ist zu wenig) und es dauert ewig, bis ich etwas hinbekomme.
Gruß
Kalle
Win 10 Pro, AOO 4.1.9
Re: Listbox fuellen
Du sollst beim Textfeld "Baujahr" dem Ereignis "Fokusverlust" das Makro zuordnen"Bei Fokusverlust" eine weitere Schaltfläche installiert werden ? Funktioniert nicht.
Keine Ahnung ob das Unsinn ist, aber der Schaltfläche "Speichern" ist ein ganz anderes Makro zugeordnet das nicht existiert:In "Sub Kosten_eingeben" stehen doch die Zeilen drin oder ist dies Unsinn ?
Vielleicht klärst Du erst einmal welches Makro richtigerweise zugeordnet sein soll und testet dann nochmals
Gruß
Stephan
Re: Listbox fuellen
Hallo Stephan,
manchmal sehe ich den Wald vor lauter Bäumen nicht. Nur gut, dass es Leute wie Dich gibt.
Ich bin davon ausgegangen, dass ich das Modul von der PersonenListe 1 zu ~1 umsetzen kann. Doch offensichtlich ist dies ja nicht der Fall, warum auch immer.
Durch das Lesen in diesem Forum bis ins Jahr 2004 zurück habe ich viele Informationen gesammelt, aber wie ich sehe, reicht es nicht aus.
Nun funktioniert alles, bis auf die Tatsache, dass die Kennzeichen aus der ListBox nicht in die Tabelle Kosten übertragen werden. Es erscheint die Fehlermeldung: Eigenschaft oder Methode nicht gefunden: Text.
Nun sollte ich wieder lesen, es sei denn, Du hilfst mir auf die Sprünge ?
Desweiteren habe ich noch eine Frage: Ist es nicht möglich durch Aufrufen eines Dialogs Formeln in die jeweilige Spalte zu kopieren anstatt es händisch zu machen ? Wie z.B. =Summewenn, Summe etc.
Gruß
Kalle
manchmal sehe ich den Wald vor lauter Bäumen nicht. Nur gut, dass es Leute wie Dich gibt.
Ich bin davon ausgegangen, dass ich das Modul von der PersonenListe 1 zu ~1 umsetzen kann. Doch offensichtlich ist dies ja nicht der Fall, warum auch immer.
Durch das Lesen in diesem Forum bis ins Jahr 2004 zurück habe ich viele Informationen gesammelt, aber wie ich sehe, reicht es nicht aus.
Nun funktioniert alles, bis auf die Tatsache, dass die Kennzeichen aus der ListBox nicht in die Tabelle Kosten übertragen werden. Es erscheint die Fehlermeldung: Eigenschaft oder Methode nicht gefunden: Text.
Nun sollte ich wieder lesen, es sei denn, Du hilfst mir auf die Sprünge ?
Desweiteren habe ich noch eine Frage: Ist es nicht möglich durch Aufrufen eines Dialogs Formeln in die jeweilige Spalte zu kopieren anstatt es händisch zu machen ? Wie z.B. =Summewenn, Summe etc.
Gruß
Kalle
Win 10 Pro, AOO 4.1.9
Re: Listbox fuellen
mutmaßlich musst Du ändern:bis auf die Tatsache, dass die Kennzeichen aus der ListBox nicht in die Tabelle Kosten übertragen werden. Es erscheint die Fehlermeldung: Eigenschaft oder Methode nicht gefunden: Text.
Code: Alles auswählen
oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
Code: Alles auswählen
oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").SelectedItem
Naja, nicht "durch" Aufrufen eines Dialogs, aber innerhalb des Makros das den Dialog aufruft. ES gibt doch ohnehin in dem anderen Makro schon ein Beispiel für Formeln, nämlich:Desweiteren habe ich noch eine Frage: Ist es nicht möglich durch Aufrufen eines Dialogs Formeln in die jeweilige Spalte zu kopieren anstatt es händisch zu machen ? Wie z.B. =Summewenn, Summe etc.
Code: Alles auswählen
oSheet.getCellRangeByName("A2").Formula = "=Max(A4:A50)"
Gruß
Stephan
Re: Listbox fuellen
Du hattest im Konkreten eine klare Fehlermeldung die hieß "Eigenschaft oder Methode nicht gefunden: Text". Schaue in die Codezeile:Doch auf die Idee, einfach nur SelectedItem dahinter zu setzen, wäre ich wohl nie gekommen.
Code: Alles auswählen
oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
Code: Alles auswählen
'oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
Msgbox Dlg_Kosten.getControl("ListBox_Kennzeichen").dbg_properties
und Du siehst schon einmal das es dort keine Text-Eigenschaft gibt, weshalb diese falsch sein muss. Welche hingegen die richtige Eigenschaft ist kannst Du nur herausbekommen indem Du alle Eigenschaften die aufgelistet sind durchgehst bis Du die Passende findest. Das wird am Anfang lange dauern, die Übung (bzw. das Erfahrungswissen) kommt erst mit der Zeit.
Da in der Fehlermeldung steht "Eigenschaft ODER Methode" musst Du, wenn Du nicht weist das "Text" eine Eigenschaft und keine Methode ist, das Ganze nochmals durchführen mit:
Code: Alles auswählen
'oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
Msgbox Dlg_Kosten.getControl("ListBox_Kennzeichen").dbg_methods
mutmaßlich sollte gehen:Vielleicht ein kleiner Tipp
Code: Alles auswählen
osheet.getCellRangeByName("H" & End_Row).Formula = "=SUM(E" & End_Row & ":F" & End_Row & ")"
Code: Alles auswählen
osheet.getCellRangeByName("H" & End_Row+1).Formula = "=SUM(E" & End_Row+1 & ":F" & End_Row+1 & ")"
Gruß
Stephan
Re: Listbox fuellen
Hallo Stephan,
Jetzt funktioniert alles wunderbar. Dann werde ich später diese Anregung auch dazu benutzen, in der Tabelle BestandsListe die Formel SummeWenn eingeben zu lassen.
Diese beiden Msgbox 'en werde ich mir gut aufheben müssen, denn ich habe noch mehr vor.
Vielen Dank erst einmal und guten Rutsch ins neue Jahr.
Kalle
Auch die englische Bezeichnung "SUM" habe ich natürlich auch probiert. Der einzige Haken war, dass ich nicht wußte, dass vor dem Doppelpunkt noch ein Gäsefüßchen gesetzt werden muss.osheet.getCellRangeByName("H" & End_Row).Formula = "=SUM(E" & End_Row & ":F" & End_Row & ")"
Jetzt funktioniert alles wunderbar. Dann werde ich später diese Anregung auch dazu benutzen, in der Tabelle BestandsListe die Formel SummeWenn eingeben zu lassen.
ist der Hammer. Es produziert sogar einen ÜberlaufMsgbox Dlg_Kosten.getControl("ListBox_Kennzeichen").dbg_methods
Diese beiden Msgbox 'en werde ich mir gut aufheben müssen, denn ich habe noch mehr vor.
Vielen Dank erst einmal und guten Rutsch ins neue Jahr.
Kalle
Win 10 Pro, AOO 4.1.9