so, Vriant problem
Dim rkodocid As Variant
Dim rpodocid As Variant
wie vergleiche ich die beiden auf Inhalt.
so kommt "TypeMismatch"
rkodocid = rpodocid
help
Am besten wäre natürlich die beiden in Strings konvertieren.
so, Vriant problem
Dim rkodocid As Variant
Dim rpodocid As Variant
wie vergleiche ich die beiden auf Inhalt.
so kommt "TypeMismatch"
rkodocid = rpodocid
help
Am besten wäre natürlich die beiden in Strings konvertieren.
Kommt immer drauf an was im Variant drin ist.
Wenn da ein Array drin ist musst du die Elemente miteinander vergleichen.
Bei einem String hätte dein Vergleich aber gehen müssen, also wird wohl keiner drin gewesen sein
Wie wäre es mit dem Einsatz von Join?
Auf wenn es hier um eine Anfängerfrage geht: Auf die allgemeinen Schwierigkeiten sei aber hingewiesen, da erstmal logisch festgelegt werden müsste, was "gleich" bei Arrays bedeutet.
Array1:
A
C
B
Array2:
C
B
A
Haben diese Arrays gleiche Inhalte? Eigentlich ja, streng betrachtet aber ... Die Billig-Methode Join schetert da.
Was ist, wenn man noch gar nicht weiss, ob ein Variant überhaupt initialisiert ist? Da müsste also eine "etwas" umfassendere Routine her. Vielleicht sollte ich Rudi das für das EntwicklerCamp 2009 als Vortrag vorschlagen. Diskutieren kann man das ja schon bei einem Bierchen demnächst in Gelsenkirchen
Wenn Roman jetzt sagt: Hurra, Join ist das, was ich gesucht habe, hat er einen Spezialfall abgedeckt, und beim nächsten Einsatz im nächsten Szenario fällt er auf die Nase. Was ist mit
"1"
"2"
und
1
2
Gleich oder ungleich? Spielen Datentapen eine Rolle? Und wenn es dann noch Datums-/Zeitwerte sind ...
"A"
"B"
und
"A"
""
"B
Gleich oder ungleich? Auch hier bestimmt wieder die Programmlogik,
"Es ist ein weites Feld, Luise.", schrieb Fontane als letzten Satz in seine "Effi Briest".
Bernhard
verwende wenn möglich kein Variant. Variant ist nebenbei auch noch eine Performance-Bremse!
Ansonsten kannst Du im Script mit IsNumeric, IsDate, IsEmpty, IsNull, IsScalar, IsArray, IsList und IsObject den Typ überprüfen.
Und mit Cstr, CBool, CByte, CCur, CDat, CDbl, CInt, CLng, CSng und CVar den Typ umwandeln.
Gruß
Dirk
Alles KLar...
hoffe ich nerve euch nicht zu sehr mit solchen Anfängerfragen.
Die Hilfe (F1) im Designer finde ich nicht sonderlich gut.
Danke :)))
Ne nichts ist klar..
hier der Code
Dim rkotemp(2) As Variant
Dim rkoidString As String
rkotemp(1) = rkodoc.GetItemValue("rko_document_id")
rkoidString = Cstr(rkotemp(1))
Beim Casten in den String kommt TypeMismatch..
Beim Abfragen des Typs
Print isArray(rkotemp(1)) kommt "true"
beim rest kommt false.
also was mach ich falsch??
na ja ...
rkodoc.GetItemValue("rko_document_id") ... ist ein Array
also ist in rkotemp(1) ebenfalls ein Array
Schaus Dir mal im Debugger an, dort siehst Du es.
Gruß
Dirk
Debugger läuft nicht wieso auch immer.
Also gibt es einfache möglichkeit aus einem bestimmten Notes Dokument ein Feld auslesen und in String casten????????
Kann mir da jemand helfen?
handelt es sich um ein Mehrfachwertefeld oder nicht?
Ist es kein Mehrfachwertefeld, kannst Du es mit rkodoc.rko_document_id(0) auslesen. Ist es schon ein Textfeld, kommt auch Text zurück. Ansonsten muss noch mit Cstr der Typ in String gewandelt werden.
Ist es ein Mehrfachwertefeld, hängt es davon ab, was Du weiter damit machen willst.
Gruß
Dirk
Debugger einschalten:
- im Client Menü Datei - Extras - Debug LotusScript
- danach as Script im Client starten, der Debugger springt automatisch an
zum Array:
Dim rkotemp(2) as Variant ... bedeutet rkotemp ist ein Array, wobei die Einzelwerte vom Typ Variant sind.
Der Typ Variant kann aber selber ein Array sein, deshalb kommt auch in der Zeile
rkotemp(1) = rkodoc.GetItemValue("rko_document_id")
kein Fehler und Du lädst in den Einzelwert rkotemp(1) im Array rkotemp ein neues Array. Das Array sieht dann in etwa so aus:
rkotemp(1)(0) = "Inhalt 1"
rkotemp(1)(1) = "Inhalt 2"
...
rkotemp(1)(x) = "Inhalt x + 1"
Gruß
Dirk
%edit
falls Du am Sonntag Zeit hast: Dominoforums-Treffen im Raum Stuttgart (So. 03.02.08)
Ich würde dann das Laptop mitbringen (oder Du bringst Deins mit der Anwendung mit) und wir können über das Problem reden
Danke für die Blumen.
Habs mal auf erledigt gesetzt.
Gruß
Dirk