Hi,
ich habe hier zur Zeit einen sehr eifrigen Praktikanten. Er ist wirklich engagiert, und hat einige Programmier-Vorkenntnisse in VB und PHP.
Da er gut ist, darf er nun selbständig ein paar unserer produktiven Notes-Datenbanken verbessern.
Ausgangssituation:DB mit Haupt- und Antwort - Doks. Hauptdoks haben eine ID. Zahlenfeld, Mehrfachwerte. D.h. es können dort 1-x IDs eingetragen werden.
Darunter hängen Antwort-Docs, die u.a. die ID vom Hauptdokument übernehmen. Auch Zahlenfeld, Mehrfachwerte, Computed when composed.
Nun soll per Button einem bestehenden Antwort-Dokument ein anderes Hauptdokument zugeordnet werden können . Dafür nimmt er den Code aus Best Practices (
http://www.atnotes.de/index.php?topic=13984.0).
Damit die Auswahl über Picklist sauber klappt, wird das ID-Feld über
@Implode(@Text(cID); ",") umgewandelt, weil es eben mehrere Zahlen enthalten kann.
In LotusScript hat man dann letztendlich z.B. folgendes in einem String:
strQuelle = "10526,10527,10530"
strQuelle = "10532"
strQuelle = "10535,10537"
Ziel:Jetzt geht es darum, dieses String wieder in ein Feld (Zahl, Mehrfachwerte) zurückzuschreiben.
Er hing da, daher hab ich ihm schnell was geschrieben:
Dim vIDArray As Variant
Dim intUboundID As Integer
Dim intLoop As Integer
vIDArray = Split(strQuelle, ",")
intUboundID = Ubound(vIDArray)
Dim lngResultArray() As Long
For intLoop = 0 To intUboundID
Redim Preserve lngResultArray(intLoop) '// Although redim is no good in loops due to performance, we use it here since we do not expect many elements
lngResultArray(intLoop) = Clng(vIDArray(intLoop))
Next intLoop
Was passiert da: per "Split" Funktion in String-Array. Dann String-Array abarbeiten und die Elemente in ein Long Array schreiben.
Ehrgeizig und frech wie mein Praktikant ist, meint er nun, dass das eher ein Würgaround ist. Er hat auch Recht.
Mir fällt aber nichts gescheites dazu ein. Ihm natürlich auch nicht.
Habt Ihr bessere Vorschläge, ein solches String wieder in ein Zahlenfeld mit Mehrfachwerten zu bringen?
Kurzzusammenfassung:Ein String, das Integer mit Mehrfachwerte enthalten kann (getrennt durch Komma) soll per LS (Backend) in ein Item geschrieben werden, das vom Typ Zahl ist mit Mehrfachwerten.
Meine Methode funktioniert, aber eigentlich wäre was eleganteres netter.