Domino 9 und frühere Versionen > ND6: Entwicklung

Feld vom Typ Namen angreifen

(1/1)

heidiweber:
Hallo

ich habe ein Feld vom Typ Namen. In dem befinden sich durch Komata getrennt verschiedene eMail-Adressen. Jetzt möchte ich von einem anderen Formular darauf zugreifen. Das probiere ich so:

Set konfig = db.GetProfileDocument("konfig")   
sendto = konfig.laufzettelDatVers(0)

Jetzt nimmt der natürlich nur die erste eMail-Adresse. Probiere ich das so: konfig.laufzettelDatVers() dann kommt eine Fehlermeldung. Muss man da eine Schleife machen? Oder geht das einfacher?

Vielen Dank
cu
Heidi

koehlerbv:
Moment - nicht so unstrukturiert!

Von welchem Typ ist die Variable SendTo?

Ist sie vom Typ Variant, wäre das korrekte Coding:
SendTo = konfig.laufzettelDatVers

Wenn Du von einem anderem "Formular" (was ist ein "Formular" in Notes? Das ist eine Maske!) zugreifst, kannst Du auch gleich folgende Zuweisung vornehmen:

docDeinDokument.DeinItemName = konfig.laufzettelDatVers

Bernhard

heidiweber:
Vielen Dank erst mal - aber schon wieder das nächste Problem:

Ich habe das jetzt so:

Dim sendto As Variant
Set konfig = db.GetProfileDocument("konfig")   
sendto = konfig.laufzettelDatVers

Das funktioniert auch. Nur möchte ich jetzt diese Variant-Variable auf Inhalt prüfen:
If  Not Isempty(sendto) Then ...

In sendto ist nichts - zumindest laut debugger wird "" angezeigt. Aber trotzdem geht der in die If-Abfrage???

Wie muss man eine Variant-Variable korrekt auf leer abfragen?
Mit if sendto = "" then... kommt TypeMissmatch??

cu
Heidi

koehlerbv:
Heidi, jedes NotesItem (bitte nicht verwechseln mit "Feld", was ein FrontEnd-Designelement ist) liefert Dir - selbst wenn nicht vorhanden - ein Array zurück.
Die DesignerHelp sagt Dir auch, wann man Isempty oder Isarray verwenden darf (hier also nicht).

In Deinem Fall der einfachste (aber nicht unbedingt sichere) Weg:

--- Code: ---Set konfig = db.GetProfileDocument("konfig")   
sendto = konfig.laufzettelDatVers
If sendto (0) = "" then ...
--- Ende Code ---

Sicherer (aber auch noch nicht ganz sicher, aber das würde jetzt zu weit führen) wäre


--- Code: ---Set konfig = db.GetProfileDocument("konfig")   
sendto = konfig.laufzettelDatVers
sendto = Join (sendto)
If sendto = "" then
--- Ende Code ---

Heidi, hast Du gute Literatur bei der Hand? Oder kannst Du einen guten Kurs besuchen? Du läufst sonst von einer Falle in die nächste, und Dein Chef wirft nur sein Geld zum Fenster heraus.

Bernhard

heidiweber:
Hallo Bernhard,

da ich in der Regel nur "mini-" Änderungen vornehme, werde ich keinen Kurs bekommen.... Ein Buch habe ich für Version 5. Bringt aber leider auch net so viel.
Und das mit isempty bzw isarray habe ich durch die Suche hier im Forum bekommen.

Ich habe das jetzt so gemacht: If sendto (0) = "" then ...

Vielen Dank nochmal und einen schönen Tag
cu
Heidi

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln