Domino 9 und frühere Versionen > ND8: Entwicklung

Text kann nicht in eine Zahl umgesetzt werden

<< < (3/5) > >>

koehlerbv:
Bei Deinem Code darf kein RT Item im Dokument sein, denn diese sind niemals Arrays, Leo. Das müsstest Du also noch abfragen.

Bernhard

Peter Klett:
Kleine Pingelei von mir: Warum schreibst Du das so umständlich? Das versteht beim späteren Lesen "keine Sau"

If Not IsArray(item) = False Then

Das ist im Ergebnis das Gleiche wie

If IsArray(item) Then

nur, dass im zweiten Fall die Chance besteht, ohne Knoten im Hirn weiterleben zu können ;)

Bruce Willis:
Vielen Dank für die Antworten.

Wenn ich so eintrage, werden ALLE Felder angezeigt:
If  IsArray(item) = False Then


Wenn ich so eintrage, werden KEINE Felder angezeigt
(auch keine RT-Felder):
If Not  IsArray(item) = False Then
vermutlich wie auch bei dieser Variante:
If  IsArray(item) Then

Was soll ich denn eintragen?

Peter Klett:
Das kommt natürlich darauf an, was Du haben willst. Mein Beitrag bezog sich ausschließlich auf die Formulierung.

Willst Du alle Items haben, die KEIN Array sind, fragst Du (von Mensch zu Mensch)

Bist Du kein Array?

Willst Du alle Items haben, die ein Array sind, solltest Du fragen

Bist Du ein Array?

Natürlich kannst Du auch fragen

Bist Du nicht kein Array?

Notes versteht das, aber vielleicht nicht der einfache Mensch, der sich später damit herumschlagen muss ...


Zu Deinem eigentlichen Problem kann ich im Moment nicht wirklich viel beitragen, denn das habe ich leider nicht verstanden. Nur soviel, dass Du irgendwie validieren willst. Und wenn Du das mit Script machen willst (was ich immer so mache), wirst Du wohl jedes einzelne Feld abfragen müssen, denn Du weißt, in welchem Feld/Item was stehen muss. Es ist höchst unwahrscheinlich, dass Du eine Maske hast, in der immer alle Items gefüllt sein müssen, so dass man die so pauschal mit Forall items ... abfackeln kann.

Ich mache das ungefähr so (im Querysave):


Dim nl As String
nl = Chr (13) & Chr (10)
Dim Fehler As String

If doc.Feld1 (0) = "" Then
   Fehler = Fehler & nl & "Feld1 ist leer"
End If

If Ubound (doc.Feld2) < 2 Then
   Fehler = Fehler & nl & "Feld2 enthält zu wenige Werte"
End If

If Len (doc.Feld3 (0)) < 5 Then
   Fehler = Fehler & nl & "Feld3 ist zu kurz"
End If

If Fehler <> "" Then
   Msgbox "Das Dokument konnte nicht gespeichert werden" & nl & Fehler, 16, "Fehler"
   Continue = False
End If

Natürlich sammele ich die Fehler in einer globalen Variablen einer Bibliothek und nutze eigene Routinen, um die Fehlertexte zu sammeln, aber sinngemäß so sieht das aus.

koehlerbv:
Peter, es geht Leo um Items, in denen ein @Error steht (wenn jemand in ein Datumsfeld "Tante Hulda" geschrieben hat und man vom Frontend auf das Backenend referenziert, wie im QuerySave beispielsweise).

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln