Autor Thema: Prüfen ob Feld (Typ Zahl) leer ist  (Gelesen 1799 mal)

Offline tabama

  • Aktives Mitglied
  • ***
  • Beiträge: 233
  • Geschlecht: Männlich
  • hier werden Sie geholfen
Prüfen ob Feld (Typ Zahl) leer ist
« am: 03.02.04 - 14:06:41 »
Hallo,

Problem:
ist das Feld leer, ist es vom Type "STRING"
ist es gefüllt, ist es vom Type "Double"

meine Prüfung:
dim doc set doc usw.
if doc.feld(0) = "" then
print falsch
endif

solange das Feld leer ist, ist alles ok.
wenn aber eine Zahl eingegben wird, kommt natürlich der Fehler "Typemismath", was ja auch richtig ist.

wenn ich aber
if doc.feld(0) = 0 then

dann gibt es ein Fehler, wenn das Feld leer ist.

Eine Umwandlung mit cstr() oder val() bringt auch nichts.

Also:
Wie kann ich prüfen, ob ein Zahlenfeld leer ist??


Offline sloe

  • Aktives Mitglied
  • ***
  • Beiträge: 175
  • Geschlecht: Männlich
  • Never stop a running admin...
Re:Prüfen ob Feld (Typ Zahl) leer ist
« Antwort #1 am: 03.02.04 - 14:44:22 »
Hi,
probier es mal so...
if Len(doc.feld(0)) = 0 then
print "falsch"
endif
Gruß
sloe
Gruß
sloe

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Prüfen ob Feld (Typ Zahl) leer ist
« Antwort #2 am: 03.02.04 - 14:55:00 »
@sloe:
Das ist doch das gleiche - Len wirkt auf String, nicht auf Zahlen.

@tabama:
Und sollte Cstr nicht funktionieren ? Das tut es nämlich ... Du brauchst nur auf Cstr (doc.Feld (0)) = "" zu prüfen.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Prüfen ob Feld (Typ Zahl) leer ist
« Antwort #3 am: 03.02.04 - 14:57:00 »
Hi,

ich hab das mal so gelöst:

...
If Datatype(doc.Karte(0)) = 5 Then
    Print "Feld ausgefüllt"
Else
    Print "Feld ist leer"
End If
...


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline tabama

  • Aktives Mitglied
  • ***
  • Beiträge: 233
  • Geschlecht: Männlich
  • hier werden Sie geholfen
Re:Prüfen ob Feld (Typ Zahl) leer ist
« Antwort #4 am: 03.02.04 - 14:57:25 »
Nur zu Hälfte OK

funkt bei keiner Eingabe und bei Zahleneingabe.

Bringt aber Fehler bei Texteingabe "Varaint does not contain a container"

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Prüfen ob Feld (Typ Zahl) leer ist
« Antwort #5 am: 03.02.04 - 14:58:49 »
Das ist etwas unverständlich, was Du da schreibst. Werde mal genauer ...

Offline tabama

  • Aktives Mitglied
  • ***
  • Beiträge: 233
  • Geschlecht: Männlich
  • hier werden Sie geholfen
Re:Prüfen ob Feld (Typ Zahl) leer ist
« Antwort #6 am: 03.02.04 - 15:05:29 »
es ist schnuppe, ob ich mit len() oder datatype() oder cstr() arbeite.

wenn im Feld ein text eingegeben wird, kommt der Fehler "Variant does not contain a container"

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Prüfen ob Feld (Typ Zahl) leer ist
« Antwort #7 am: 03.02.04 - 15:17:10 »
Hi,

poste mal den Code, damit wir uns ein Bild machen können.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Prüfen ob Feld (Typ Zahl) leer ist
« Antwort #8 am: 03.02.04 - 15:32:35 »
Das Verhalten ist insofern klar, als das Notes kein Item anlegt, wenn ein falscher Datentyp für die Eingabe im Frontend verwendet wird. Spätestens beim Speichern beschwert sich er Client dann: "Falscher Datentyp - Zahl erwartet !".
Du prüfst aber bereits vorher. Du must daher das betreffende Item instantiieren (Set NotesItem = NotesDocument.GetFirstItem ("...") )
und dann erstmal dessen Existenz prüfen. Geht das bereits in die Hose -> Ausgang. Ansonsten kannst Du mit Cstr weitermachen.

HTH,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz