Seite 1 von 1
BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Mo, 06.06.2011 08:30
von komma4
Moderation,4: abgetrennte Beiträge des Threads "
Makro im Makro verwenden" von MrSir zum Thema "Tabellenkontrollfeld"
MrSir hat geschrieben:denn zu dem Tabellen - Kontrollfeld findet man keine Dokus.
Unsinn.
http://development.openoffice.org/
http://wiki.services.openoffice.org/wik ... pers_Guide
MrSir hat geschrieben:wo finde ich Dokus dazu?
Ebenfalls da.
Die "Reihenfolge" von Ereignissen ist auch schon in der F1 - Onlinehilfe beschrieben
MrSir hat geschrieben:bei euch OpenOffie 3.3 ebenfalls verbuggt?
Keine Ahnung. Verwende Linux und eine (relativ stabile) 3.2.1. Habe keine Zeit für Windows und Abstürze

Re: Makro im Makro verwenden
Verfasst: Mo, 06.06.2011 16:11
von MrSir
Danke, aber ich konnte zum Tabellen - Kontrollfeld nichts finden.
Das Problem was ich mit dem Tabellen - Kontrollfeld habe, ist die Iteration über den Inhalt.
Derzeit mache ich das wie folgt:
Hole mir das RowSet unt iteriere darüber mit Next.
Jetzt ist das so, dass ich in einer anderen Methode, die von einem Textchanged-Event aufgerufen wird, den Inhalt des Tabellen - Kontrollfeld mit RowSet.updateInt ... ändere, dabei erhalte ich einen
Fehler "Falshe Sql- Rheienfolge ...".
Ich könnte zwar eine seprate Sql-Anfrage über die Tabelle des Tabellen - Kontrollfeldes starten und darüber iterrieren, leider ist die neue Zeile des Tabellen-Kontrollfeldes in der Datenbank noch nicht enthalen.
Gibt es die Möglichkeit über Zeilen der "View" zu iterieren?
Re: Makro im Makro verwenden
Verfasst: Mo, 06.06.2011 16:36
von komma4
MrSir hat geschrieben:leider ist die neue Zeile des Tabellen-Kontrollfeldes in der Datenbank noch nicht enthalen.
Setze ein
oForm.reload() nach Updates oder Inserts ab, dann ist der Inhalt aktuell.
In meiner (lokalen Kopie) des SDK unter docs/common/ref/com/sun/star/form/control/GridControl.html bzw.
Kapitel 13.2.2 und 13.4.1 des DeveloperGuides
Besser, ich trenne das mal auf, neuer Thread...
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Di, 07.06.2011 04:26
von DPunch
Aloha
MrSir hat geschrieben:den Inhalt des Tabellen - Kontrollfeld mit RowSet.updateInt ... ändere, dabei erhalte ich einen
Fehler "Falshe Sql- Rheienfolge ...".
Wenn Du tatsächlich Hilfe benötigst, solltest Du etwas präziser werden.
Wie lautet die Fehlermeldung genau?
In welchem Zusammenhang tritt sie auf (Codeausschnitt)?
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Di, 07.06.2011 04:53
von MrSir
Habe da etwas gefunden was helfen könnte, aber leider weiß ich nicht, wie ich die Funktion verwende.
sdk/docs/common/ref/com/sun/star/form/XGridFieldDataSupplier.html#queryFieldData
Die Funktion sieht wie folgt aus:
Und macht folgendes:
"Description
retrieves the actual column data for the given row"
Der Parameter long nRow ist klar, aber type xType.
Habe es schon mit String und Interger, erhalte immer den Fehler:

Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Di, 07.06.2011 07:17
von komma4
a) Dein Bild bei
IMAGESCHACK ist nicht überall zu sehen: diese Firma verlangt die Registrierung (des Providers meiner Internetverbindung). Suche Dir besser einen wirklich freien Anbieter. Wüsste nicht, wie ich bspw.
Telecom of Thailand dazu bringen könnte sich dort anzumelden
b) wie die Dokumentation sagt ist der Parameter vom Typ
INTEGER
c) ausserdem ist das Interface als
DEPRECATED gekennzeichnet. Deren korrektes Funktionieren ist demnach nicht gewährleistet.
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Di, 07.06.2011 16:18
von MrSir
Habe Hosting Service gewechselt.
"b) wie die Dokumentation sagt ist der Parameter vom Typ INTEGER
Könntest du mir bitte ein Beispiel für einen korrekten Aufruf der Funktion geben?"
"c)ausserdem ist das Interface als DEPRECATED gekennzeichnet. Deren korrektes Funktionieren ist demnach nicht gewährleistet."
Man könnte zwar über das RowSet des Models iterrieren, aber Einträge, die noch nicht in die Datenbank geschrieben wurden sind da noch nicht drin.
Gibt es keine Möglichkeit direkt auf die View zuzugreifen um den Inhalt auszulesen?
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Di, 07.06.2011 18:38
von DPunch
Aloha
komma4 hat geschrieben:wie die Dokumentation sagt ist der Parameter vom Typ INTEGER
Nicht eher ein INput-Parameter vom Typ "Type"?
MrSir hat geschrieben:Gibt es keine Möglichkeit direkt auf die View zuzugreifen um den Inhalt auszulesen?
Was meinst Du mit "View" in diesem Zusammenhang?
Wenn Dein Problem ist, dass neue Zeilen irgendwo noch nicht enthalten sind, dann schreib sie doch einfach vorher.
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Di, 07.06.2011 18:54
von MrSir
Was meinst Du mit "View" in diesem Zusammenhang?
Bei MVC ist die View, die Komponente, die die Daten darstellt.
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Di, 07.06.2011 19:08
von DPunch
MrSir hat geschrieben:Bei MVC ist die View, die Komponente, die die Daten darstellt.
Oha, vielen Dank für die Erklärung.
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Di, 07.06.2011 19:32
von MrSir
DPunch hat geschrieben:Oha, vielen Dank für die Erklärung.
Was hast du den gedacht, was mit View gemeint ist?
Es gibt nur Probleme mit OpenOffice Base und Formularen.
Könnte sich bitte jemand das Formular "Rechnung" in meinem Base - Dokument anschauen?
Habe ein Makro im Container des Dokumentes unter dem Modul Rechnung namens "update_Endsumme".
Wenn ich den Wert der Feldes Endsumme über das Model oder die View ändere steht da immernoch 0.
Nur wenn man direkt nach dem Setzen des Wertes eine Ausgabe mit Print macht ist kurzfristig der neue Wert im Feld zu sehen.
Dokument:
http://www.file-upload.net/download-348 ... -.odb.html
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: Do, 09.06.2011 11:25
von DPunch
Aloha
MrSir hat geschrieben:Was hast du den gedacht, was mit View gemeint ist?
Gar nichts, deshalb habe ich nachgefragt. Es werden oft genug Begriffe durcheinander geworfen, bevor ich mir da das Hirn zermartere, warum der Fragesteller jetzt gerade
diesen Begriff unbedingt verwenden will, frage ich lieber nach.
Im Übrigen bei Dir mit dem durchaus essenziellen Zusatz "in diesem Zusammenhang".
MrSir hat geschrieben:Dokument:
Wenn das tatsächlich nicht nur eine reine Beispieldatei ist, sondern prinzipiell das Projekt, mit dem Du Dich momentan beschäftigst, dann würde ich Dir als gut gemeinten Tip nahelegen, den Aufbau der Datenbank nochmal zu überarbeiten.
MrSir_ hat geschrieben:Es funktioniert wirder, nachdem ich jedes einzelne Kontrollfeld in ein eigenes Subformular gepackt habe.
Dann sind ja alle zufrieden.
Re: BASE: Tabellenkontrollfeld / TableGrid
Verfasst: So, 12.06.2011 18:08
von MrSir
MrSir hat geschrieben:Dokument:
Wenn das tatsächlich nicht nur eine reine Beispieldatei ist, sondern prinzipiell das Projekt, mit dem Du Dich momentan beschäftigst, dann würde ich Dir als gut gemeinten Tip nahelegen, den Aufbau der Datenbank nochmal zu überarbeiten.
Ist ok so, danke

, soviele Artikel werden es sowieso nicht.
Die Tabellen zu normalisieren(1-5NF, BCNF ...) ist einfach unnötige Arbeit.