Re: [de-users] Base; Makro; Tabellensteuerelement: einzelne Spalten farbig?
Hey Robert, Gisbert, *, Am 29.01.2021 um 17:37 schrieb Robert Großkopf: Hallo Gisbert, da ist es in der Eile wieder einmal als private Mail raus gegangen. Hier noch einmal für die Liste: Hallo nochmal: es wäre doch hübsch wenn man auch bei einzelne Spalten (oder Zeilen) in einem Tabellen-Steuerelement den Hintergrund oder die Schrift einfärben könnte... - gerne auch per Makro. Da es die Eigenschaft für einzelne Zellen nicht gibt geht das leider nicht. Ich habe schon seit vielen Jahren dort einen Feature-Request liegen, der die wechselnde Einfärbung von Zeilen ermöglichen soll. Lange Zeilen lassen sich sonst nur schwer lesen. Tut sich nur nichts. Also, theoretisch geht das ;) Das Table-Grid Element hat sehr wohl entsprechende Eigenschaften (im Service UnoControlGridModel - zu finden unter css.awt.grid.) Wenn man dieses komplette Ding per Makro aufbaut, kann man sowohl die Schriftfarbe einstellen als auch Hintergrundfarben für Selektionen, Rahmenfarben, Linienfarben etc. und das Und die Eigenschaft "RowBackgroundColors" lässt auch die Hintergrundfarbe einer Datenzeile alternierend oder gleichmäßig auftauchen;) Ist allerdings enorm viel Arbeit, dies alles manuell festzulegen. Dafür gibt es dann einen Service DefaultGridColumnModel und einen DefaultGridDataModel die bereits die meisten Eigenschaften beinhalten. So etwas wird sicher auch in Base verwendet (bei Formularen) - tia, und dann ist es eben schon voreingestellt;) Es lohnt sich immer, mal ein wenig im css.awt.grid zu stöbern und zu lesen:) Viele Grüße Thomas PS: Wenn ich das Grid-Objekt im Dialog verwende und dort nur Standardwerte nutze, so sind die Zeilen immer alternierend eingefärbt M.I.C. Consulting Riederbergstr. 92 65195 Wiesbaden Tel. 0611 - 188 53 39 Fax: 0611 - 188 53 40 http://www.mic-consulting.de e-Mail: i...@mic-consulting.de -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Base; Makro; Tabellensteuerelement: einzelne Spalten farbig?
Hallo Gisbert, da ist es in der Eile wieder einmal als private Mail raus gegangen. Hier noch einmal für die Liste: > > Hallo nochmal: > es wäre doch hübsch wenn man auch bei einzelne Spalten (oder Zeilen) in > einem Tabellen-Steuerelement den Hintergrund oder die Schrift einfärben > könnte... - gerne auch per Makro. Da es die Eigenschaft für einzelne Zellen nicht gibt geht das leider nicht. Ich habe schon seit vielen Jahren dort einen Feature-Request liegen, der die wechselnde Einfärbung von Zeilen ermöglichen soll. Lange Zeilen lassen sich sonst nur schwer lesen. Tut sich nur nichts. Gruß Robert -- Homepage: https://www.familiegrosskopf.de/robert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Base; Makro; Tabellensteuerelement: einzelne Spalten farbig?
Hallo Gisbert, das habe ich vor Längerem auch schon mal gesucht und nichts gefunden. Ich habe jetzt noch einmal geschaut und komme zu dem gleichen Schluss. Man kann die Schriftfarbe für das gesamte Grid ändern, die Eigenschaft ist: TextColor. Die Spalte hat zwar die Eigenschaften CharColor und CharBackColor, aber sie scheinen nicht wirksam zu sein. Ich vermute, dass sie in dem PropertySet drin sind, weil sie ererbt sind, aber ignoriert werden. Gruß Gerhard Am 29.01.2021 um 14:13 schrieb Gisbert: Hallo nochmal: es wäre doch hübsch wenn man auch bei einzelne Spalten (oder Zeilen) in einem Tabellen-Steuerelement den Hintergrund oder die Schrift einfärben könnte... - gerne auch per Makro. Viele Grüße Gisbert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Base; Makro; Tabellen-Steuerelement: Rahmen abschalten
Hallo Gisbert, so etwas Ähnliches hatte ich auch schon mal, aber es war definitiv nicht in der Base-Entwicklungsumgebung; ich bin nicht mal sicher, ob es in LibO war. Ich würde die Ursache nicht unbedingt bei LibO vermuten. Gruß Gerhard Am 29.01.2021 um 11:47 schrieb Gisbert: Hallo Ihrda Draussen, ist jemanden schon mal folgendes begegnet: Bei Umschaltung des Rahmens im GUI (Formular-Bearbeiten..) wird das Fenster rund um das Tabellensteuerelement komplett schwarz und lässt sich per Mausklick stückweise wieder sichtbar machen? Nach Beenden der Bearbeitung und Speichern ist alles wieder gut, aber beim ersten Mal hat mich das doch erschreckt... Viele Grüße Gisbert Am 07.03.2020 um 08:26 schrieb Robert Großkopf: Hallo Gerhard, inaktiv ist die Ausschaltung des Rahmens nicht. Über die GUI (Eigenschaften des Formularfeldes) funktioniert das ja sehr wohl. Auch die Umschaltung von Rahmen in flacher und 3-D-Form funktioniert mit dem Makro. Wird also schlicht ein Bug sein der noch keinem aufgefallen ist, weil das niemand angewendet hat. Also: Bug melden - aber nicht als Base-Bug sondern als Basic-Bug. Gruß Robert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
[de-users] Base; Makro; Tabellensteuerelement: einzelne Spalten farbig?
Hallo nochmal: es wäre doch hübsch wenn man auch bei einzelne Spalten (oder Zeilen) in einem Tabellen-Steuerelement den Hintergrund oder die Schrift einfärben könnte... - gerne auch per Makro. Viele Grüße Gisbert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Base; Makro; Tabellen-Steuerelement: Rahmen abschalten
Hallo Ihrda Draussen, ist jemanden schon mal folgendes begegnet: Bei Umschaltung des Rahmens im GUI (Formular-Bearbeiten..) wird das Fenster rund um das Tabellensteuerelement komplett schwarz und lässt sich per Mausklick stückweise wieder sichtbar machen? Nach Beenden der Bearbeitung und Speichern ist alles wieder gut, aber beim ersten Mal hat mich das doch erschreckt... Viele Grüße Gisbert Am 07.03.2020 um 08:26 schrieb Robert Großkopf: Hallo Gerhard, inaktiv ist die Ausschaltung des Rahmens nicht. Über die GUI (Eigenschaften des Formularfeldes) funktioniert das ja sehr wohl. Auch die Umschaltung von Rahmen in flacher und 3-D-Form funktioniert mit dem Makro. Wird also schlicht ein Bug sein der noch keinem aufgefallen ist, weil das niemand angewendet hat. Also: Bug melden - aber nicht als Base-Bug sondern als Basic-Bug. Gruß Robert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Base; Makro; Tabellen-Steuerelement: Rahmen abschalten
Danke Gerhard und Robert für die Infos! Die Rahmen sind bei mir in den verschiedenen Formularen der (ein- und derselben) Base-Anwendung abgeschaltet mittels GUI. Abgeschaltet bedeutet in LO, dass nur die untere, horizontale Rahmenleiste unsichtbar ist (die anderen Rahmenleisten bleiben sichtbar). Unter den Tabellen habe ich "Symbolleisten Navigation" gesetzt (als Tabellenbegrenzung gewissermaßen), die verlängert sind in einer Linie mit einigen Schaltflächen, Das sieht filigran aus. Der (zweiter) darüber liegender Rahmen der Tabelle hieße "doppelt gemobbelte horizontale untere Begrenzungs-Leiste. Soweit - so gut! Allerdings werden beim Start des ersten Formular, das automatisch per Makro erfolgt (wenn man meine Base-Anwendung startet), die untere, horizontale Rahmenleisten im "Startfomular" eingeblendet. In den anderen Formularen, die man wahlweise öffnen kann (aus dem ersten Formular heraus), passiert das nicht. Auch ein nachträgliches Schließen des "Startformulars" mit anschließendem Wieder-Öffnen lässt die untere horizontale Rahmenleiste nicht unsichtbar werden. Grüße Gerhard Am 07.03.20 um 01:29 schrieb Gerhard Weydt: Hallo Gerhard, ich kann bestätigen, dass sich nichts tut, obwohl der Wert border wirklich nach der Zuweisung auf 0 gesetzt ist. Ich wundere mich allerdings etwas darüber, dass du den Rahmen abschalten willst. Die Tabelle in Base ist ja ein sehr kompliziertes Objekt, nicht bloß einfach wie in Writer Zeilen und Spalten mit eventueller Sonderbehandlung für erste und letzte Zeile/Spalte. In Base hat die Tabelle eine viel differenziertere Funktion, die Zellen der ersten Zeile sind üblicherweise Spaltenköpfe mit Bezug zu Datenbankspalten, die Zellen der ersten Spalte dienen zur Selektion von Datenbanksätzen. Da die Rahmenlinien (die ja auch die Binnenlinien betreffen) abzuschalten, halte ich für wenig hilfreich, daher wundert es mich gar nicht, dass da nichts passiert, ich denke, dass die Eigenschaft border vorhanden ist, weil die Tabelle in Base auf einem einfacheren Konstrukt aufbaut, dass sie aber wohlweislich inaktiv ist. Gruß Gerhard Am 07.03.20 um 08:26 schrieb Robert Großkopf: Hallo Gerhard, inaktiv ist die Ausschaltung des Rahmens nicht. Über die GUI (Eigenschaften des Formularfeldes) funktioniert das ja sehr wohl. Auch die Umschaltung von Rahmen in flacher und 3-D-Form funktioniert mit dem Makro. Wird also schlicht ein Bug sein der noch keinem aufgefallen ist, weil das niemand angewendet hat. Also: Bug melden - aber nicht als Base-Bug sondern als Basic-Bug. Gruß Robert Am 06.03.2020 um 08:19 schrieb Gerhard Dittrich: Liebe Gemeinschaft, ich möchte in Base bei einer Tabelle (Bezeichnung Tabellen-Steuerelement) den RAHMEN mittels Makro abschalten. Es gibt ja drei mögliche Einstellungen: ohne Rahmen (=0), 3D-Darstellung (=1), Flach (=2) Mein Makro sieht wie folgt aus. Leider tut sich nichts (L0 6.4.1. unter Windows 10 und auch LO 6.1.5 unter Linux Mint) SUB BORDER DIM oDATEN AS OBJECT DIM oTabelle AS OBJECT oDATEN = thisComponent.Drawpage.Forms.getByName("DATEN") oTabelle = oDaten.getByName("Tabelle") oTabelle.border = 0 END SUB LG Gerhard -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Base; Makro; Tabellen-Steuerelement: Rahmen abschalten
Hallo *, ich habe das als Bug gemeldet: https://bugs.documentfoundation.org/show_bug.cgi?id=131196 Gruß Robert -- Homepage: https://www.familiegrosskopf.de/robert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Base; Makro; Tabellen-Steuerelement: Rahmen abschalten
Hallo Gerhard, inaktiv ist die Ausschaltung des Rahmens nicht. Über die GUI (Eigenschaften des Formularfeldes) funktioniert das ja sehr wohl. Auch die Umschaltung von Rahmen in flacher und 3-D-Form funktioniert mit dem Makro. Wird also schlicht ein Bug sein der noch keinem aufgefallen ist, weil das niemand angewendet hat. Also: Bug melden - aber nicht als Base-Bug sondern als Basic-Bug. Gruß Robert -- Homepage: https://www.familiegrosskopf.de/robert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
Re: [de-users] Base; Makro; Tabellen-Steuerelement: Rahmen abschalten
Hallo Gerhard, ich kann bestätigen, dass sich nichts tut, obwohl der Wert border wirklich nach der Zuweisung auf 0 gesetzt ist. Ich wundere mich allerdings etwas darüber, dass du den Rahmen abschalten willst. Die Tabelle in Base ist ja ein sehr kompliziertes Objekt, nicht bloß einfach wie in Writer Zeilen und Spalten mit eventueller Sonderbehandlung für erste und letzte Zeile/Spalte. In Base hat die Tabelle eine viel differenziertere Funktion, die Zellen der ersten Zeile sind üblicherweise Spaltenköpfe mit Bezug zu Datenbankspalten, die Zellen der ersten Spalte dienen zur Selektion von Datenbanksätzen. Da die Rahmenlinien (die ja auch die Binnenlinien betreffen) abzuschalten, halte ich für wenig hilfreich, daher wundert es mich gar nicht, dass da nichts passiert, ich denke, dass die Eigenschaft border vorhanden ist, weil die Tabelle in Base auf einem einfacheren Konstrukt aufbaut, dass sie aber wohlweislich inaktiv ist. Gruß Gerhard Am 06.03.2020 um 08:19 schrieb Gerhard Dittrich: Liebe Gemeinschaft, ich möchte in Base bei einer Tabelle (Bezeichnung Tabellen-Steuerelement) den RAHMEN mittels Makro abschalten. Es gibt ja drei mögliche Einstellungen: ohne Rahmen (=0), 3D-Darstellung (=1), Flach (=2) Mein Makro sieht wie folgt aus. Leider tut sich nichts (L0 6.4.1. unter Windows 10 und auch LO 6.1.5 unter Linux Mint) SUB BORDER DIM oDATEN AS OBJECT DIM oTabelle AS OBJECT oDATEN = thisComponent.Drawpage.Forms.getByName("DATEN") oTabelle = oDaten.getByName("Tabelle") oTabelle.border = 0 END SUB LG Gerhard -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
[de-users] Base; Makro; Tabellen-Steuerelement: Rahmen abschalten
Liebe Gemeinschaft, ich möchte in Base bei einer Tabelle (Bezeichnung Tabellen-Steuerelement) den RAHMEN mittels Makro abschalten. Es gibt ja drei mögliche Einstellungen: ohne Rahmen (=0), 3D-Darstellung (=1), Flach (=2) Mein Makro sieht wie folgt aus. Leider tut sich nichts (L0 6.4.1. unter Windows 10 und auch LO 6.1.5 unter Linux Mint) SUB BORDER DIM oDATEN AS OBJECT DIM oTabelle AS OBJECT oDATEN = thisComponent.Drawpage.Forms.getByName("DATEN") oTabelle = oDaten.getByName("Tabelle") oTabelle.border = 0 END SUB LG Gerhard -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
[de-users] Base - Makro
Hallo *, Folgendes sei gesetzt: Formular in Base Kombinationsfeld als Kontrollfeld Makro, das einen Text aus diesem Kontrollfeld holt: oComboBox = oForm.getByName(SuchBox) 'Combobox holen sFilterstring = oComboBox.Text 'Text holen Problem: oComboBox.Text zieht bei mir nicht den Text als Solches, sondern den Text und rechts davon stehende Leerzeichen, also z.B. Probetext und nicht Probetext. Diese Problem hat Folgen, da eine folgende Suchfunktion nicht richtig funktioniert. Kann mir jemand sagen, wie ich erreichen kann, dass nur der Text gezogen werden kann. LO: LibreOffice 3.4.5 OOO340m1 (Build:502) OS: Windows 7 Prof 64 Bit Gruß Jochen -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro
Hallo Jochen, Folgendes sei gesetzt: Formular in Base Kombinationsfeld als Kontrollfeld Makro, das einen Text aus diesem Kontrollfeld holt: oComboBox = oForm.getByName(SuchBox) 'Combobox holen sFilterstring = oComboBox.Text 'Text holen Versuch einmal sFilterstring = oComboBox.getCurrentValue() alternativ geht sicher auch sFilterstring = TRIM(oCombobox.Text) Problem: oComboBox.Text zieht bei mir nicht den Text als Solches, sondern den Text und rechts davon stehende Leerzeichen, also z.B. Probetext und nicht Probetext. Diese Problem hat Folgen, da eine folgende Suchfunktion nicht richtig funktioniert. Kann mir jemand sagen, wie ich erreichen kann, dass nur der Text gezogen werden kann. Gruß Robert -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro
Hallo Robert, Am 27.01.2012 19:02, schrieb Robert Großkopf: Versuch einmal sFilterstring = oComboBox.getCurrentValue() Funktioniert bei mir nicht. alternativ geht sicher auch sFilterstring = TRIM(oCombobox.Text) Funktioniert. Vielen Dank für Deinen Tipp, welcher mir weitergeholfen hat. Gruß Jochen -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Methode
hallo Jochen Am 22.01.2012 20:29, schrieb Jochen: Hallo Robert, Am 22.01.2012 20:14, schrieb Robert Großkopf: Am 22.01.2012 19:00, schrieb Frieder: hast du es schon mit dem folgenden probiert? oForm = thisComponent.drawpage.forms.getByName(MainForm) oForm.reload() Nein. Grund: Methode wird mit Xray nicht angezeigt. Ich ändere jetzt mal die Variable. Diese lautet bisher: oTable1 = thisComponent.drawpage.forms(0).getByName(MainForm) oTable = thisComponent.drawpage.forms.getByName(MainForm) Du hast da 2 Fehler drin. Was sind denn die 2 Fehler? forms(0) - forms sehe ich. Ist forms(0) falsch (1. Fehler?) 2. Fehler? Dein 2. Fehler ist, das du erst schreibst: oTable1 =... und dann oTable.reload() (die 1 fehlt) Warum änderst du die Variable von oForm in oTable ? Das Object thisComponent.drawpage.forms(0).getByName(MainForm) ist nicht das Tabellenkontrollfeld, sondern das Formular, in dem das Kontrollfeld liegt.(in dem Fall das Haupt-Formular mit Namen MainForm) Deshalb ist oTable ein verwirrender Name. Nimm doch einfach wieder: oForm = thisComponent.drawpage.forms.getByName(MainForm) oForm.reload() Der Name des Formulars muss eventuell angepasst werden. Ich meine tatsächlich aber ein Tabellen-Kontrollfeld, in dem Datensätze gefiltert sind. Ich habe diese in meiner Anfrage nicht ausführlich genug formuliert. Unter Berücksichtigung dieser Zusatzinformation: ist oTable.reload() die korrekte Syntax? Ich kann dir nicht mit Sicherheit sagen, ob diese Methode genau das macht, was du willst, aber wenn du es ausprobierst, wirst du es wissen. Falls nicht dann hast du dein Problem hier nicht ausreichend präzise geschildert. Gruß Frieder -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] Base - Makro - Methode
Hallo *, kann mir jemand bitte die Makro-Methode für Aktualisieren eines Tabellen-Kontrollfeldes eines Formulars in Base posten? Ich finde dies nicht im Netz. Gruß Jochen -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Methode
Am 22.01.2012 16:50, schrieb Jochen: Hallo *, kann mir jemand bitte die Makro-Methode für Aktualisieren eines Tabellen-Kontrollfeldes eines Formulars in Base posten? Ich finde dies nicht im Netz. Gruß Jochen Hallo Jochen hast du es schon mit dem folgenden probiert? oForm = thisComponent.drawpage.forms.getByName(MainForm) oForm.reload() Gruß Frieder -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Methode
Hallo Frieder, Am 22.01.2012 19:00, schrieb Frieder: hast du es schon mit dem folgenden probiert? oForm = thisComponent.drawpage.forms.getByName(MainForm) oForm.reload() Nein. Grund: Methode wird mit Xray nicht angezeigt. Ich ändere jetzt mal die Variable. Diese lautet bisher: oTable1 = thisComponent.drawpage.forms(0).getByName(MainForm) Also oTable.reload() gibt es nicht als Methode. Gruß Jochen -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Methode
Hallo Jochen, Am 22.01.2012 19:00, schrieb Frieder: hast du es schon mit dem folgenden probiert? oForm = thisComponent.drawpage.forms.getByName(MainForm) oForm.reload() Nein. Grund: Methode wird mit Xray nicht angezeigt. Ich ändere jetzt mal die Variable. Diese lautet bisher: oTable1 = thisComponent.drawpage.forms(0).getByName(MainForm) oTable = thisComponent.drawpage.forms.getByName(MainForm) Du hast da 2 Fehler drin. Also oTable.reload() gibt es nicht als Methode. Das ist die Standardmethode, mit der z.B. Filter ein anderes Formular auf den neuesten Stand bringen. Gruß Robert -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Methode
Hallo Robert, Am 22.01.2012 20:14, schrieb Robert Großkopf: Am 22.01.2012 19:00, schrieb Frieder: hast du es schon mit dem folgenden probiert? oForm = thisComponent.drawpage.forms.getByName(MainForm) oForm.reload() Nein. Grund: Methode wird mit Xray nicht angezeigt. Ich ändere jetzt mal die Variable. Diese lautet bisher: oTable1 = thisComponent.drawpage.forms(0).getByName(MainForm) oTable = thisComponent.drawpage.forms.getByName(MainForm) Du hast da 2 Fehler drin. Was sind denn die 2 Fehler? forms(0) - forms sehe ich. Ist forms(0) falsch (1. Fehler?) 2. Fehler? Also oTable.reload() gibt es nicht als Methode. Das ist die Standardmethode, mit der z.B. Filter ein anderes Formular auf den neuesten Stand bringen. Ich meine tatsächlich aber ein Tabellen-Kontrollfeld, in dem Datensätze gefiltert sind. Ich habe diese in meiner Anfrage nicht ausführlich genug formuliert. Unter Berücksichtigung dieser Zusatzinformation: ist oTable.reload() die korrekte Syntax? Gruß Jochen -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Formular - Tabellenkontrollfeld
Hallo Frieder, Robert, ich habe das Makro zum Laufen gebracht. Knackpunkt war die Reihenfolge der Makro-Sequenzen. sub Probe dim oTable1, ofild, oControll oTable1 = thisComponent.drawpage.forms(0).getByName(MainForm_Nachname) If oTable1.getRowSet.RowCount =0 Then Exit Sub 'Die folgende Reihenfolge der Zeilen muss unbedingt einghalten werden oTable1.getRowSet.Last oControll = thiscomponent.CurrentController.getControl(oTable1) oControll.SetCurrentColumnPosition(1) thiscomponent.CurrentController.getControl(oTable1).setFocus sNameID = oTable1.getByIndex(1).Text oTable1.getRowSet.moveToInsertRow ' Ende der Reihenfolge, die unbedingt eingehalten werden muss ofild=oTable1.getByIndex(1) ofild.Text= sNameID ofild.commit oControll.SetCurrentColumnPosition(4) end sub Vielen Dank für Eure Hilfe. Gruß Jochen -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Formular - Tabellenkontrollfeld
Hallo Jochen Am 17.01.2012 23:15, schrieb Jochen: Hallo Frieder Am 16.01.2012 13:40, schrieb Frieder: oform.getRowSet.moveToInsertRow(false) 'Fokus setzen, damit mann direckt hineinschreiben kann. thiscomponent.CurrentController.getControl(oform).setFocus end sub Vielen Dank für Deinen Code-Vorschlag. Dieser hat mir schon weitergeholfen. Allerdings habe ich jetzt noch das Problem, dass ich in das Feld, in dem der Fokus gesetzt worden ist, per Makro kein Inhalt (z.B. einen Text) schreiben kann. Gibt es dafür eine Lösung? Ich habe grundsätzlich eine Methode gefunden, mit der das geht. Allerdings scheint sie nicht 100%ig zu funktionieren. Ich weiß nicht , ob das ein Bug ist, oder ob ich etwas falsch mache. Aber hier die Methode: 'Das Tabellenkontrollfeld ansprechen oform=thiscomponent.drawpage.forms(0).getByName(MainForm_Grid) oform.getRowSet.moveToInsertRow 'in die neue Zeile gehen field=oform.getByIndex(1) '2. Spalte auswählen field.Text= 'Text setzen field.commit 'Text in die Datenbank übernehmen. oControll= thiscomponent.CurrentController.getControl(oform) oControll.SetCurrentColumnPosition(2) ' Cursor in die 2. Spalte setzen oControll.setFocus' Fokus setzen Gruß Frieder -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Formular - Tabellenkontrollfeld
Hallo Frieder, Ich habe grundsätzlich eine Methode gefunden, mit der das geht. Allerdings scheint sie nicht 100%ig zu funktionieren. Ich weiß nicht , ob das ein Bug ist, oder ob ich etwas falsch mache. Aber hier die Methode: 'Das Tabellenkontrollfeld ansprechen oform=thiscomponent.drawpage.forms(0).getByName(MainForm_Grid) oform.getRowSet.moveToInsertRow 'in die neue Zeile gehen field=oform.getByIndex(1) '2. Spalte auswählen vielleicht field.updateString(rrr) oform.updateRow() (geht natürlich nicht in einer neuen Zeile, hier dann oform.insertRow() field.Text= 'Text setzen field.commit 'Text in die Datenbank übernehmen. oControll= thiscomponent.CurrentController.getControl(oform) oControll.SetCurrentColumnPosition(2) ' Cursor in die 2. Spalte setzen oControll.setFocus' Fokus setzen Gruß Frieder Gruß Robert -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Formular - Tabellenkontrollfeld
Hallo Frieder Am 16.01.2012 13:40, schrieb Frieder: oform.getRowSet.moveToInsertRow(false) 'Fokus setzen, damit mann direckt hineinschreiben kann. thiscomponent.CurrentController.getControl(oform).setFocus end sub Vielen Dank für Deinen Code-Vorschlag. Dieser hat mir schon weitergeholfen. Allerdings habe ich jetzt noch das Problem, dass ich in das Feld, in dem der Fokus gesetzt worden ist, per Makro kein Inhalt (z.B. einen Text) schreiben kann. Gibt es dafür eine Lösung? Gruß Jochen -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Formular - Tabellenkontrollfeld
Hallo Jochen Am 15.01.2012 16:17, schrieb Jochen: Hallo *, ich möchte für Base ein Makro erstellen, das in einem Tabellenkontrollfeld in einem Formular u.a. folgenden zwei Aufgaben durchführen soll: 1) Nummer des letzten Datensatzes einer Tabelle auslesen. 2) Befehl Neuer Datensatz ausführen. ich bin mir zwar nicht ganz sicher was du genau willst, aber vielleicht hilft dir ja das hier: (muss direckt aus dem Formular ausgeführt werden) Sub Formular_Manipolation Dim oform As Object Dim aData(1) As variant Dim nAnzahl As Long ,i% ' Nummer des Formulars(0) und Name des Tabellenkontrollfeldes (MainForm_Grid) bitte anpassen !! oform=thiscomponent.drawpage.forms(0).getByName(MainForm_Grid) 'anzahl der einträge nAnzahl = oform.getRowSet.RowCount MsgBox Das Formular hat nAnzahl Datensätze. 'gehe zu letzten Reihe mit einträgen oform.getRowSet.Last 'hole den inhalt des letzten eintrags in ein Array(nur Datum und Text) Redim aData( oform.Count -1) for i=0 to oform.Count -1 If oform.getByIndex(i).DataFieldProperty = Date Then aData(i) = oform.getByIndex(i).Date else aData(i)= oform.getByIndex(i).Text end if MsgBox Letzter Datensatz Spalte i+1 Lautet: Chr(10) aData(i) next 'Neuer eintrag(gehe zu letzten Reihe) oform.getRowSet.moveToInsertRow(false) end sub Gruß Frieder -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Base - Makro - Formular - Tabellenkontrollfeld
Hallo Jochen Am 15.01.2012 16:17, schrieb Jochen: ich möchte für Base ein Makro erstellen, das in einem Tabellenkontrollfeld in einem Formular u.a. folgenden zwei Aufgaben durchführen soll: 1) Nummer des letzten Datensatzes einer Tabelle auslesen. 2) Befehl Neuer Datensatz ausführen. Habe das Makro noch erweitert, damit der Fokus danach auch auf dem Tabellenkontrollfeld ist, und du somit direkt hineinschreiben kannst. Hier der Code: (muss direkt aus dem Formular ausgeführt werden) Sub Formular_Manipolation Dim oform As Object Dim aData(1) As variant Dim nAnzahl As Long ,i% ' Nummer des Formulars(0) und Name des Tabellenkontrollfeldes (MainForm_Grid) bitte anpassen !! oform=thiscomponent.drawpage.forms(0).getByName(MainForm_Grid) 'anzahl der einträge nAnzahl = oform.getRowSet.RowCount MsgBox Das Formular hat nAnzahl Datensätze. 'gehe zu letzten Reihe mit einträgen oform.getRowSet.Last 'hole den inhalt des letzten eintrags in ein Array(nur Datum und Text) Redim aData( oform.Count -1) for i=0 to oform.Count -1 If oform.getByIndex(i).DataFieldProperty = Date Then aData(i) = oform.getByIndex(i).Date else aData(i)= oform.getByIndex(i).Text end if MsgBox Letzter Datensatz Spalte i+1 Lautet: Chr(10) aData(i) next 'Neuer Eintrag(gehe zu letzten Reihe) oform.getRowSet.moveToInsertRow(false) 'Fokus setzen, damit mann direckt hineinschreiben kann. thiscomponent.CurrentController.getControl(oform).setFocus end sub Gruß Frieder -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] Base - Makro - Formular - Tabellenkontrollfeld
Hallo *, ich möchte für Base ein Makro erstellen, das in einem Tabellenkontrollfeld in einem Formular u.a. folgenden zwei Aufgaben durchführen soll: 1) Nummer des letzten Datensatzes einer Tabelle auslesen. 2) Befehl Neuer Datensatz ausführen. Ich finde nicht die dazu nötigen Befehle bzw. Methoden. Kann jemand diese hier posten? LO: LibreOffice 3.4.4 OOO340m1 (Build:402) OS: Windows 7 Prof 64 Bit Gruß Jochen -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert