Wie kann man im Script den Inhalt zweier Felder in ein drittes zusammenfügen?
dim...
set...
doc.feld3 = doc.feld1+doc.feld2
Im feld3 sollten dann zwei Elemente stehen.
Wie kann man im Script den Inhalt zweier Felder in ein drittes zusammenfügen?
dim...
set...
doc.feld3 = doc.feld1+doc.feld2
Im feld3 sollten dann zwei Elemente stehen.
dim...
set...
doc.feld3 = doc.feld1[color=FF3300](0)[/color] + doc.feld2[color=FF3300](0)[/color]
bzw bei Text:
doc.feld3 = doc.feld1[color=FF3300](0)[/color] & doc.feld2[color=FF3300](0)[/color]
Gruß
Dirk
wenn Du im Feld3 2 Werte haben willst, dann geht diese hier:
dim Werte(1) as variant
Werte(0) = doc.feld1(0)
Werte(1) = doc.feld2(0)
doc.feld3= Werte
Sind die Klammerinhalte ähnlich wie Arrays zu werten?
ich denke mal ...(1) wäre dann ein zweiter Eintrag ein Feldes, korrekt?
und...
in Feld3 sind schon Werte drin, wie bekomme ich die neuen werte dazu, so wirds nicht klappen, oder?
doc.feld3 = doc.feld3 + doc.feld1(0) + doc.feld2(0)
du musst dir bewusst machen, das jedes feld in notes ein array ist, auch wenn du es in der maske so nicht definiert hast!
(0) -> ist immer der erste wert. auch bei einem nicht-multivalue-feld.
(1)
(2)
.
.
etc. beschreibt dann die weiteren einträge in der liste. mit ubound(doc.feld) kannst du für eine schleife ermitteln wie viele werte es gibt, da ein feld ja unterschiedlich viele werte aufnehmen kann!
dim Werte(1) as variant ..erzeugt ein Array vom typ Variant - hier darf auch String oder... stehen - mit den 2 leeren Elementen (0) und (1).
hiermit wird als ein Array mit 2 Elementen gefuellt und dann beider Elemente an das Feld3 uebergeben.
Tschuldigung!
Hatte meinem Eintrag noch etwas hinzugefügt.
Die Antworten waren ja schneller, als ich lesen/schreiben kann, super!
Würdet Ihr den zweiten Teil des o.g. Eintrages auch noch beantworten?
Thanks
dim Werte(1) as variant
Werte(0) = doc.feld1(0)
Werte(1) = doc.feld2(0)
doc.feld3 = ArrayAppend( doc.feld3, Werte )
Gruß
Dirk
Super, Ihr habt mir sehr geholfen.
Jetzt müsste ich anschl. noch die aktuell angezeigte Maske aktualisieren. Wie kann man das hinkriegen?
z. b. uidoc.refresh
uidoc.Refresh dürfte helfen
Gruß
Dirk
Klappt irgendwie nicht.
Das aktuelle Dokument steht nicht im Status "Edit".
Der Benutzer hat u.U. keine Rechte zum editieren, deswegen Script.
Kann man ohne Edit refreshen?
dann solltest Du das Dokument neu laden
uidoc.Reload
oder falls dies nichts bringt, UIDoc neu öffnen
uidoc.Close
set uidoc = ws.EditDocument(False, doc)
Gruß
Dirk
uidoc.Close
set uidoc = ws.EditDocument(False, doc)
Super, damit funzt es 100%.
Danke für alle fleissigen und hilfreichen Antworten.
Ende
----------------
uidoc.Reload geht wahrscheinlich auch nur im Editmode.
Wir haben noch ein paar alte 4er Workstations.
Da funktioniert das ArrayAppend nicht.
Wie bekomme ich den Vorgang synonym in R4 zum ArrayAppend hin?
Auch das funktioniert nun prima.
Nochmals vielen Dank.