Domino 9 und frühere Versionen > ND6: Entwicklung
Type mismatch? warum??
DaWutz:
Hallo zusammen,
warum zeigt mir der folgende Code immer den Finger? In dem Dokument aus dem die Daten kommen sollen steht in dem Feld "active". Mit dem Debugger komme ich immer auf die Zeile if orgStatus ...
Kann ich denn einen Variant nicht einfach so vergleichen? Was mache ich falsch?
--- Code: ---....
Dim orgName As Variant
Dim orgAbbreviaton As Variant
Dim orgStatus As Variant
Dim counter As Single
Dim kw As Variant
counter = 0 ' einfacher Zähler!
kw = Inputbox("Which Calendar week you want to create?")
' Schleife, die jedes weitere Dokument anspringt
Do While Not (doc Is Nothing)
orgName = doc.GetItemValue("org_name") ' Werte aus Mutter-Dok auslesen
orgAbbreviation = doc.GetItemValue("org_abkuerzung")
orgStatus = doc.GetItemValue("org_status")
If orgStatus = "active" Then
Set note = db.CreateDocument ' neues Dok erzeugen
Call note.ReplaceItemValue("Form", "check_form") ' Maske ändern
Call note.ReplaceItemValue("check_orgName", orgName) ' Felder mit Werten belegen
Call note.ReplaceItemValue("check_orgAbbr", orgAbbreviation)
Call note.ReplaceItemValue("check_calendarWeek", kw)
Call note.save(True,False) ' speichern des neu angelegten Dok´s
Set doc = view.GetNextDocument(doc) ' nächstes Dokument aus der View anspringen
counter = counter+1
End If
Loop
--- Ende Code ---
???
Thomas Schulte:
Weil Variants Arrays sind und Arrays spricht man mit ArrayVar(0) an.
Thomas
DaWutz:
War es nicht so, das ein Variant das "wird" was an Daten rein geht? In meinem Fall ein String? Aber daovn mal ganz ab, wenn ich die Varaible mit orgStatus(0) = "active" anspreche, dann knallt mein Notes weg. Und wenn ich die Variable von Anfang an als String wähle, dann wirds auch nix... ???
koehlerbv:
Variants können Arrays sein, müssen aber keinesfalls !
A-Bär: Übernimmt man direkt ein Item in ein Variant (ausser RTI), dann ist das Ergebnis IMMER ein Array:
variant = NotesDocument.Field
Selbiges macht auch das von DaWutz verwendete NotesDocument.GetItemValue - das Ergebnis ist ausser bei RTIs IMMER ein Array.
HTH,
Bernhard
TMC:
Beim Backend-Zugriff auf ein Item erhält Du immer ein Array - egal welcher Feldtyp das ist.
*Edit*: Da war Bernhard schneller. Und ich vergass die Ausnahme RTI.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln