Autor Thema: Prüfen ob Feld leer ist in LS  (Gelesen 1754 mal)

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Prüfen ob Feld leer ist in LS
« am: 06.03.08 - 15:34:46 »
Habe ein Feld vom Typ Leser. Nun möchte ich prüfen ob das Feld leer ist.
In der Formelsprache kann ich dies folgendermaßen machen:

@If(Leser != "";Anweisung1;sonst Anweisung2)

wenn ich nun in LS dies so probiere erhalte ich immer die Meldung dass das Leserfeld Werte enthält auch wenn es leer ist

Code
Sub Click(Source As Button)
	Dim session As New NotesSession
	Dim workspace As New NotesUIWorkspace
	Dim db As NotesDatabase
	Dim uidoc As NotesUIDocument
	Dim doc As NotesDocument
	Set uidoc = workspace.CurrentDocument
	Set doc = uidoc.Document
	Set db = session.CurrentDatabase
	
	If  Isempty(doc.D_Leser) Then
		Msgbox("Leserfeld ist leer")		
		
	Else
		Msgbox("Leserfeld enthält Werte")
		
	End If
	
End Sub

botschi

  • Gast
Re: Prüfen ob Feld leer ist in LS
« Antwort #1 am: 06.03.08 - 15:36:31 »
So gehts:

If  doc.D_Leser(0) = "" Then
      Msgbox("Leserfeld ist leer")      
      
   Else
      Msgbox("Leserfeld enthält Werte")
      
   End If

Matthias

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Prüfen ob Feld leer ist in LS
« Antwort #2 am: 06.03.08 - 15:39:04 »
Ok,den Code spar ich mir jetzt...  :)

Das sagt die Hilfe:

Return value
The IsEmpty function returns TRUE (-1) if expr has the value EMPTY. This occurs only if expr is a Variant and has not been assigned a value.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Re: Prüfen ob Feld leer ist in LS
« Antwort #3 am: 06.03.08 - 15:40:11 »
Danke jetzt klappts.
Bedeutet dies, dass das Leserfeld ein Array ist?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Prüfen ob Feld leer ist in LS
« Antwort #4 am: 06.03.08 - 15:51:48 »
Bitte streiche das Wort "Feld" in diesem Zusammenhang aus Deinem "Wissen": Ein Feld ist ein Designelement innerhalb einer Maske und rein Frontend-orientiert.

Du prüfst ein *Item*. Und ein Item ist in Notes mit der Ausnahme von richt text *immer* ein Array.

Weiters: Es ist sehr gewagt und eigentlich sogar sträflich, ein Item gegen einen Leer-*String* abzufragen. Einen String erhält man nur zurück, wenn
- das Item ein Array vom Typ Text enthält (und durch das Frontend-Design-Element "Feld" ist dies *nicht* gewährleistet!!)
- Das Item nicht existiert.
Wenn schon, dann also "If Cstr (doc.Leser (0)) = "" Then ...).

Um die "Klugscheisserei" (die hier aber immanent wichtig ist für stabilen Code) fortzusetzen: Es gibt im Backend kein "Feld" vom Typ "Leser". Hierbei handelt es sich um ein stinknormales Text-Item, welches die Property "READ-ACCESS" besitzt.

HTH (someone),
Bernhard

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Re: Prüfen ob Feld leer ist in LS
« Antwort #5 am: 06.03.08 - 16:04:06 »
Ok, wieder was dazugelernt. Nun aber noch eine weitere Frage:
Wie kann ich überprüfen ob das item  ungleich leer ist? In der Formelsprache mach ich das ja mit != und in meinem Fall?

If Cstr (doc.Leser (0)) != "" Then ...

geht ja nicht

botschi

  • Gast
Re: Prüfen ob Feld leer ist in LS
« Antwort #6 am: 06.03.08 - 16:08:38 »
So:
If Cstr (doc.Leser (0)) <> "" Then ...

 ;D

Matthias

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Prüfen ob Feld leer ist in LS
« Antwort #7 am: 06.03.08 - 16:11:07 »
Wie wäre es mit der DesignerHelp - dort findest Du solche Basics (a propos BASIC: LotusScript ist ein BASIC-Dialekt, und "ungleich" wird dort mit "<>" notiert").

Bernhard

Offline guesswho

  • Senior Mitglied
  • ****
  • Beiträge: 291
Re: Prüfen ob Feld leer ist in LS
« Antwort #8 am: 06.03.08 - 18:04:03 »
wie Concatenation in BASIC-Dialekten mit & erfolgt. In einigen Herdt-Unterlagen wird das durchgängig(!) mit + gemacht. Geht ja in NotesScript auch.... Bis zu dem Moment wo String auf Integer trifft oder unerwartete Variablen sich begegnen...

Mannomann! So ein Schwachs....  :o

Nur so am Rande  ;D

Jo
5 Server 9.x auf W2K3/W2K8
ca. 550 Clients: 9.x auf Win7
Notes Traveler
iQ.Suite
BCC Charon 4
panagenda Marvel Client
BES 10/12 und viele Blackberrys
paar iPad und iPhones
Teamstudio

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz