Autor Thema: Feld vom Typ Namen angreifen  (Gelesen 1656 mal)

Offline heidiweber

  • Aktives Mitglied
  • ***
  • Beiträge: 162
Feld vom Typ Namen angreifen
« am: 26.04.06 - 17:35:45 »
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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Feld vom Typ Namen angreifen
« Antwort #1 am: 26.04.06 - 18:01:50 »
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

Offline heidiweber

  • Aktives Mitglied
  • ***
  • Beiträge: 162
Re: Feld vom Typ Namen angreifen
« Antwort #2 am: 26.04.06 - 18:40:56 »
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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Feld vom Typ Namen angreifen
« Antwort #3 am: 26.04.06 - 21:57:31 »
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 ...

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

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

Offline heidiweber

  • Aktives Mitglied
  • ***
  • Beiträge: 162
Re: Feld vom Typ Namen angreifen
« Antwort #4 am: 27.04.06 - 10:05:51 »
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz