Base Formular Felder per Makro auslesen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Base Formular Felder per Makro auslesen

Beitrag von MHage »

Hi,

ich habe ein paar Tools mit Calc und Makros geschrieben, welche mir z. B. die Beitragssätze in mehreren Datensätzen einer MySQL Datenbank ändern.
Das funktioniert, indem ich Felder einer Calc Tabelle einlese und die Information per Makro in die Datenbank schreibe.

Jetzt möchte ich aber nicht mehr mehrere Calc Tabellen führen, sondern in unserem Base Frontend dieser Datenbank ein Formular anlegen um diese Aufgaben zu erledigen.

Die eigentlich Frage: Kann ich in einem Base Formular Felder mit Werten auslesen per Makro?
Oder kann man in einem Formular eine Calc Tabelle einbetten?


Danke!

Gruß
Matze
MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Re: Base Formular Felder per Makro auslesen

Beitrag von MHage »

hi,

ich habe es mal so versucht:

Code: Alles auswählen

oDoc = ThisComponent
oForm = oDoc.drawpage.forms.getByName("Formular")
   		
oFeld = oForm.getbyname("Feldname")
testvar = oFeld.string
Das bringt aber nur folgenden Fehler:

Bild

Gruß
Matze
MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Re: Base Formular Felder per Makro auslesen

Beitrag von MHage »

jetzt bin ich schonmal ein ganzes Stück weiter.
Man sollte auch das Makro vom aktiven Formular aus aufrufen .... :(

Nun, normale Felder kann ich jetzt einlesen.

Ich habe im Formular ein Tabellen-Kontrollfeld. Kann man dort auch Felder einlesen? Oder ist das wirklich nur eine Visualisierung der dahinter liegenden Abfrage?

Gruß
Matze
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Base Formular Felder per Makro auslesen

Beitrag von gogo »

MHage hat geschrieben:...
Ich habe im Formular ein Tabellen-Kontrollfeld. Kann man dort auch Felder einlesen? Oder ist das wirklich nur eine Visualisierung der dahinter liegenden Abfrage?
...
was meinst Du denn genau mit "einlesen"?

an sich geht der Zugriff auf die "Spalten" eines Grid-Controls etwa so:

Code: Alles auswählen

oGridcontrol = oForm.getByINDEX(0) ' oder getbyname
oSpalte = oGridcontrol.getByINDEX(0)
xray oSpalte
... d.h. die Spalten werden von links nach rechts gezählt, beginnend mit der ersten Spalte (Index=0)

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Re: Base Formular Felder per Makro auslesen

Beitrag von MHage »

Hi,

um nochmal auf das Tabellen-Kontrollfeld zurück zu kommen....

Dieses Feld zeigt mir den Inhalt von Abfrage "A"
Wenn ich ein Markierfeld auf "1" setze, soll im gleichen Tabellen-Kontrollfeld Abfrage "B" angezeigt werden.

Ist das möglich? Oder gibt es immer nur eine Datenquelle?
Wenn ja, wie?

Gruß
Matze
Antworten