Morgen,
bei OpenOffice Forms gibt es ja die Felder: TableControl wo man Tabellen der einzelnen Datensätze anzeigen lassen kann.
Hierzu habe ich eine kleine Grundsatzfrage:
Wie kann man ein bestimmten Wert in diesen TableControls abfragen? Funktionieren diese TableControls wie Calc Sheets mit Spalten und Zeilen oder wie funktioniert das genau?
Über Hinweise wäre ich sehr dankbar!
LG
Christian
Macro in OpenOffice Forms
Moderator: Moderatoren
-
- **
- Beiträge: 24
- Registriert: Mi, 20.07.2005 10:55
- Kontaktdaten:
Hi Christian,
Formulare sind nicht unbeding mein Spezialgebiet, d.h. ich bitte die Anderen meine Fehler zu korrigieren.
Superkurzform: In OOo kann man die Kontrollfelder von Formularen an bestimmte Datenbankfelder binden. Damit dass funktioniert, hat jedes Formular genau eine zugeordnete Datenquelle. Aus dieser Datenquelle ist fuer das Formular genau eine Zeile aktiv.
Als Beispiel habe ich die Bibiography-Datenbank an ein Grid gebunden:
geht deine Frage in diese Richtung?
zap
Formulare sind nicht unbeding mein Spezialgebiet, d.h. ich bitte die Anderen meine Fehler zu korrigieren.
Superkurzform: In OOo kann man die Kontrollfelder von Formularen an bestimmte Datenbankfelder binden. Damit dass funktioniert, hat jedes Formular genau eine zugeordnete Datenquelle. Aus dieser Datenquelle ist fuer das Formular genau eine Zeile aktiv.
Als Beispiel habe ich die Bibiography-Datenbank an ein Grid gebunden:
Code: Alles auswählen
sub formulare
doc = thiscomponent
' nur ein formular vorhanden, es hat den index 0
formular = doc.drawpage.forms(0)
' aktive zeile abfragen. zaehlung beginnt bei 0
msgbox formular.getrow()
' naechste zeile auswaehlen. solange es weitere zeilen
' gibt, gibt next true zurueck.
msgbox formular.next
' alle felder der aktiven zeile anzeigen
' aktiv ist die 2. zeile, da wir sie gerade mit next gewaehlt haben
table = formular.getByName("TableControl")
for i = 0 to table.Count-1
row = table.getByIndex(i)
s = s & row.label & ": " & row.string & vbLf
next
msgbox s
end sub
zap
-
- **
- Beiträge: 24
- Registriert: Mi, 20.07.2005 10:55
- Kontaktdaten:
Hi,
ich muss mich auch mal korrigieren:
zap
ich muss mich auch mal korrigieren:
Code: Alles auswählen
' FALSCH: aktive zeile abfragen. zaehlung beginnt bei 0
' RICHTIG: die zaehlung beginnt bei 1
Code: Alles auswählen
for i = 0 to table.Count-1
row = table.getByIndex(i)
' FALSCH: row ist der falsche Variablenname. Es handelt sich
' um eine Spalte, also muesste man "column" nehmen
' man koennte auch "Feld" nehmen, wenn man es als Datenbankfeld interpretiert
s = s & row.label & ": " & row.string & vbLf
next