Autor Thema: Text kann nicht in eine Zahl umgesetzt werden  (Gelesen 9690 mal)

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Text kann nicht in eine Zahl umgesetzt werden
« Antwort #20 am: 06.06.13 - 19:29:49 »
Sie haben wie üblich "nix gemacht". ;)
Ich vermute, dass ein Datum-Feld (oder ein Textfeld mit Datum-Umwandlung) deren lokalen Regionalsettings nicht versteht.
Wie kann man so ein Feld per Script finden?
nobody is perfect but i'm pretty close 

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Text kann nicht in eine Zahl umgesetzt werden
« Antwort #21 am: 07.06.13 - 07:21:30 »
Jetzt habe ich es ausprobiert, das ließ mir denn nun doch keine Ruhe.

Eine Maske mit einem Zahlenfeld und einem Datumsfeld, dort wirres Zeug eingetippt und gespeichert, es kommt genau die von Dir genannte Fehlermeldung.

Das Item auf Isarray abzufragen, hilft nichts, denn auch im Fehlerfall ist das Item ein Array, aber so geht es

Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
	Dim doc As NotesDocument
	Set doc = Source.Document
	Forall item In doc.Items
		If Not Isarray (doc.GetItemValue (item.Name)) Then
			Msgbox item.Name
		End If
	End Forall
End Sub

oder so

Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
	Dim doc As NotesDocument
	Set doc = Source.Document
	Forall item In doc.Items
		If item.Text = "ERROR: " Then
			Msgbox item.Name
		End If
	End Forall
End Sub

Und das funktioniert auch, wenn Richtextfelder in der Maske sind.

EDIT:

Wenn Du es so machst, werden Richtextfelder auch als Fehler ausgewiesen. Damit hätten wir den Einwand auch noch geklärt ...

Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
	Dim doc As NotesDocument
	Set doc = Source.Document
	Forall item In doc.Items
		If Not Isarray (item.Values) Then
			Msgbox item.Name
		End If
	End Forall
End Sub
« Letzte Änderung: 07.06.13 - 07:35:10 von Peter Klett »

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Text kann nicht in eine Zahl umgesetzt werden
« Antwort #22 am: 07.06.13 - 13:18:19 »
...so geht es

Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
	Dim doc As NotesDocument
	Set doc = Source.Document
	Forall item In doc.Items
		If Not Isarray (doc.GetItemValue (item.Name)) Then
			Msgbox item.Name
		End If
	End Forall
End Sub

oder so

Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
	Dim doc As NotesDocument
	Set doc = Source.Document
	Forall item In doc.Items
		If item.Text = "ERROR: " Then
			Msgbox item.Name
		End If
	End Forall
End Sub

Und das funktioniert auch, wenn Richtextfelder in der Maske sind.


Hallo Peter,

VIELEN DANK !!!

Die erste Variante bringt das Popup bei einem Feld (siehe Screenshot), obwohl alles in Ordnung ist.
Weißt Du, woran es liegen könnte?

Gruß
Leo
nobody is perfect but i'm pretty close 

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Text kann nicht in eine Zahl umgesetzt werden
« Antwort #23 am: 07.06.13 - 14:02:33 »
Systemseitige Items können schon einmal andere Strukturen haben. Wenn Du selbst keine Items mit $ als ersten Buchstaben hast, würde ich die einfach von der Überprüfung ausschließen ...

Forall item In doc.Items
   If Left (item.Name, 1) <> "$" Then
      If Not Isarray (doc.GetItemValue (item.Name)) Then

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Text kann nicht in eine Zahl umgesetzt werden
« Antwort #24 am: 07.06.13 - 18:42:32 »
Hallo Peter,

vielen Dank !!!

Gruß
Leo
nobody is perfect but i'm pretty close 

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz