[gelöst] Tab-Controlfeld:Übertragen von Wert. in a. Zelle

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

tomgom
**
Beiträge: 36
Registriert: Mi, 04.08.2010 19:58

[gelöst] Tab-Controlfeld:Übertragen von Wert. in a. Zelle

Beitrag von tomgom »

Hallo,

ich habe in einem SubFormular ein Grid-Control. Bei der Eingabe eines neuen Datensatzes in das Grid-Control möchte ich in eine Zelle per Makro einen aus dem Hauptformular zusammengesetzten String automatisch eintragen.

Das Ansprechen der Zelle im Grid-Control funktioniert, ich kann auch Werte aus dieser Zelle auslesen. Doch wenn ich mittels oCtrl.Text einen Wert übertragen will, dann passiert nichts.

Das Makro:

Code: Alles auswählen

Sub WertUertragen

Dim oDoc as Object
Dim oDraw as Object
Dim oHptFrm as Object
Dim oSubFrm as Object
Dim oTab as Object
Dim oCtr as Obejct
Dim sText1 as String
Dim sText2 as String

oDoc = ThisComponent
oDraw = oDoc.DrawPage.Forms
oHptFrm = oDraw.getByName("Formular1")
oSubFrm = oHptFrm.getByName("SubForm1")
oTab = oSubFrm.getByName("TabGrid1")
oCtr = oTab,getByName("Control1")

sText1 = "1234"
sText2 = "Test"

oCtrl.Text = sText1 &"-"& sText2
end sub
Zuletzt geändert von tomgom am Sa, 30.10.2010 14:24, insgesamt 2-mal geändert.
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Tabellen-Kontrollfeld:Übertragen von Werten in andere Zelle

Beitrag von herz4 »

Nur mal kurz:
oTab,getByName("Control1")
Zwischen oTab und getByName gehört ein Punkt anstatt ein Komma. Weiteres von mir frühestens morgen ...
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
tomgom
**
Beiträge: 36
Registriert: Mi, 04.08.2010 19:58

Re: Tabellen-Kontrollfeld:Übertragen von Werten in andere Zelle

Beitrag von tomgom »

Danke für die schnelle Antwort - doch ist es nur ein Schreibfehler hier im Forums-Code. NOrmalerweise motzt ja der Kompiler schon bei einem solchen Schreibfehler. Das Makro läuft auch beim Ausführen ohne Fehlermeldung durch - es passiert halt in der Zelle nichts, zumindest nichts ersichtliches.
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Tabellen-Kontrollfeld:Übertragen von Werten in andere Zelle

Beitrag von herz4 »

Wie soll man helfen, wenn das Script nur "abgetippt" ist.

Ich versuch's nochmal:

Da ist ein Unterschied zwischen oCtr = ... und ein paar Zeilen tiefer oCtrl(!).Text?!
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
tomgom
**
Beiträge: 36
Registriert: Mi, 04.08.2010 19:58

Re: Tabellen-Kontrollfeld:Übertragen von Werten in andere Zelle

Beitrag von tomgom »

Sorry - auch das ist ein Schreibfehler. Ich habe das Script auf meinem Arbeitsrechner. Hier daheim habe ich es schnell aus dem Kopf geschrieben - wahrscheinlich zu schnell. Aber auch hier würde der Kompiler ja gleich motzen, da er das Object nicht kennt. Das Orginal-Script ist in Deinem Sinne ordnungsgemäß.
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Tabellen-Kontrollfeld:Übertragen von Werten in andere Zelle

Beitrag von herz4 »

... na dann wird's schon gehen ...
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Tabellen-Kontrollfeld:Übertragen von Werten in andere Zelle

Beitrag von DPunch »

Aloha
tomgom hat geschrieben:Doch wenn ich mittels oCtrl.Text einen Wert übertragen will, dann passiert nichts.
Doch, es passiert schon was - nur ist es nicht sichtbar und für die Tabelle, auf der das Formular basiert, nicht relevant... so gesehen könnte man also sagen, es passiert *fast* nichts.

Du musst das entsprechende BoundField des Rowsets ansprechen, auf dem das Formular und damit auch das DataGrid aufbauen, damit diese überhaupt was von Deiner Änderung mitkriegen:

Code: Alles auswählen

oCtr.BoundField.updateString(sText1 &"-"& sText2)
tomgom
**
Beiträge: 36
Registriert: Mi, 04.08.2010 19:58

Re: Tabellen-Kontrollfeld:Übertragen von Werten in andere Zelle

Beitrag von tomgom »

Danke für den Tip - ich werde in ausprobieren.
tomgom
**
Beiträge: 36
Registriert: Mi, 04.08.2010 19:58

Re: [gelöst] Tab-Controlfeld:Übertragen von Wert. in a. Zelle

Beitrag von tomgom »

Hallo DPunch,

konnte es leider erste heute testen - und es funktioniert - danke für die Hilfe.
Antworten