Tabellenfeld manuell mit Werten fü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: Tabellenfeld manuell mit Werten füllen

Re: Tabellenfeld manuell mit Werten füllen

von AtzeLenin » Di, 09.11.2010 11:05

Hab ich ja nur eben an anderer Stelle ;)

Dein Vorschlag hat super funktioniert und ist auch ausreichend schnell!

Vielen lieben Dank dafür!

Re: Tabellenfeld manuell mit Werten füllen

von herz4 » Di, 09.11.2010 10:10

Die Datensätze des Sub- wie auch des Formulars basieren doch wohl auf einer/mehreren Tab bzw. Abfr. Warum sprichst Du die nicht per von mir bereits gewiesener Base-Api an?!

Re: Tabellenfeld manuell mit Werten füllen

von AtzeLenin » Di, 09.11.2010 10:05

Ein Problem hab ich noch:

Irgendwie kann ich nicht die Datensätze des Subformulars ein/auslesen...
Das Funktioniert

Code: Alles auswählen


	fo = ThisComponent.Drawpage.Forms.getByName("MainForm")
	fo.moveToInsertRow()
	fo.updateLong(1,123)
	fo.insertRow()
	fo.updateRow()
Und das nicht...

Code: Alles auswählen


	fo = ThisComponent.Drawpage.Forms.getByName("MainForm").getByName("Sub")
	fo.moveToInsertRow()
	fo.updateLong(1,123)
	fo.insertRow()
	fo.updateRow()
verrückt...

EDIT: Mhh hat sich auch erledigt... Lad daran, das der Variablen-Typ irgendwie anders sein sollte. Ekliger Fehler, aber ich habs letztlich gefunden. ;)

Re: Tabellenfeld manuell mit Werten füllen

von AtzeLenin » Mo, 08.11.2010 14:38

Mhh hab eine Vorstellung dazu und das müsste wohl auch gehen.

Meine Frage:

1.) Ist das auch noch angemessen schnell oder krieg ich da ein Probelm (bei einigen hundert einträgen)

2.) mit drop lösch ich die tabelle, aber wie leere ich sie... unter mysql geht es ja mit TRUNCATE TABLE 'table' aber das scheint unter hsqldb nicht zu funktionieren
EDIT: alles klar, habs gefunden: DELETE FROM tabelle ;)

Aber ich glaub, dass kann ich so umsetzen!
Vielen Dank

Re: Tabellenfeld manuell mit Werten füllen

von herz4 » Mo, 08.11.2010 13:36

Zunächst die Datentabelle einrichten, PK nicht vergessen.
Die SQL-Abfrage erstellen, die die Daten für die Befüllung bereitstellt (dürfte schon vorhanden sein).
Aus dieser Abfrage einen Insert-Befehl zur Befüllung der neuen Tabelle erstellen und testen!
Diesen Befehl im Makro entsprechend http://www.ooowiki.de/BaseApi#head-6d60 ... 60dc46f455 oder Beiträgen im Forum ausführen lassen zum Aktualisieren der Tabelle im Formular, eventuell bei seinem Aufruf starten?! Hierbei vor Neu-Befüllung der Tabelle alte Datensätze löschen lassen!

Re: Tabellenfeld manuell mit Werten füllen

von AtzeLenin » Mo, 08.11.2010 13:13

Und das geht wie?

Als Input hab ich einen SQL-Befehl mit bekannten feldern. Wie fülle ich das?

Besten Dank für den Support!

Re: Tabellenfeld manuell mit Werten füllen

von herz4 » Mo, 08.11.2010 12:49

Was hältst Du von einer Dummy-Tabelle - gemeint Datentabelle - die Du per Makro befüllst ...

Re: Tabellenfeld manuell mit Werten füllen

von AtzeLenin » Mo, 08.11.2010 12:45

Ich möchte eine Formatierte Ausgabe und die Sortierfunktion nutzen (beim Klick auf die Reiter)

Ich kann den SQL-Befehl aber nicht direkt an das übergeordnete Formular übergeben, weil er schlichtweg nicht ausgeführt wird (ist zu komplex und variabel und geht nur über direkt ausführen / es wird ausserdem nur eine select-anfrage unterstützt (und nicht zum beispiel 2 verschachtelte)...) also muss ich es manuell machen und die daten dann zuordnen.

Re: Tabellenfeld manuell mit Werten füllen

von herz4 » Mo, 08.11.2010 06:01

Guten Morgen,
womöglich ist dem eigentlichen Datenproblem(!) auch in Base beizukommen - ohne exotische Tabelle ...!?
Welcher Art ist dieses?

Re: Tabellenfeld manuell mit Werten füllen

von AtzeLenin » So, 07.11.2010 23:37

Und kann ich nicht ein passendes RowSet erstellen und zuweisen? Da muss es doch ne Möglichkeit geben... ggrrrrr

Re: Tabellenfeld manuell mit Werten füllen

von DPunch » Fr, 05.11.2010 21:25

Aloha

Ich bezweifle, dass das überhaupt geht, ein Tabellenkontrollfeld basiert in OpenOffice (bis jetzt, da wird wohl dran gearbeitet) einzig und allein auf einem RowSet, ohne dieses hast Du keine Daten darin und wirst vermutlich auch keine hinenbekommen.

Tabellenfeld manuell mit Werten füllen

von AtzeLenin » Do, 04.11.2010 18:21

Hallo liebe Leute,

Es gibt ja die Möglichkeit ein leeres Tabellen-Kontrollelement zu erstellen (als ohne eine Verknüpfung zu einer Tabelle, Abfrage oder SQL Befehl)

Zugriff hab ich auf das Element dann z.B. über

Code: Alles auswählen

tab_feld = ThisComponent.Drawpage.Forms.getByName("MainForm").getByName("tab")
Außerdem kann ich ja manuell Spalten hinzufügen und bennennen (z.B. Ort, Name und Datum)

Wir kann ich dann aber konkret Daten in die Tabelle einlesen? Ich dachte an irgendwas wie:

Code: Alles auswählen

tab_feld = ThisComponent.Drawpage.Forms.getByName("MainForm").getByName("tab")
tab_feld.moveToInsertRow()
tab_feld.updateString(1,"Ort")
tab_feld.updateString(2,"Name")
tab_feld.updateString(3,"Datum")
tab_feld.insertRow()
tab_feld.updateRow()
Geht aber leider nicht... Habt ihr Ideen wie ich das umsetzen kann?
Vielen DAnk für die Hilfe!

Nach oben