Startseite › Foren › Map 3D Basics › Topobase – Formularfeld mit Datumauswertung
-
AutorBeiträge
-
Moin!
ich möchte innerhalb eines Formularfeldes ein Datum auf „abgelaufen“ testen und entsprechend das Feld einfärben.
Mein Problem ist, dass der VBScript-Editor wohl kein Datentyp Datum kennt.
Daraufhin habe ich die MuM-Hotline angeschrieben und folgenden Tipp bekommen.
da sind zwei Fehler drin: der Datentyp Date stammt aus Oracle, in VB .NET heißt dieser Datentyp bekanntermaßen DateTime. Me.DateValue ist in der Scripting API nicht definiert. Verwenden Sie das IntelliSense des Code-Editors, können Sie die verfügbaren Methoden und Eigenschaften lesen. In diesem Fall verwenden Sie Me.Value und Casten den Wert in VB.NET in ein DateTime.
Meine Empfehlung: verwenden Sie ein Visual Studio Community Edition vor Vorbereiten und Schreiben des Codes und kopieren Sie das fertige Script in den VB-Code-Editor des Script-Buttons.Das habe ich auch gemacht und dabei ist folgendes herausgekommen:
Dim IsBefristet As String = Me.StrValue(„GEN_IS_BEFRISTET“)
Dim sDatum As Object = Me.Value(„DATUM_GEN_BEFRISTET“)
Dim Text As String = „“Me.ForeColor = „BLACK“
Me.BackColor = „WHITE“
Text = „#Fehler bei der Verfahrensauswertung!#“If IsBefristet = „1“ Then
If sDatum = „“ Then
Me.ForeColor = „BLACK“
Me.BackColor = „RED“
TEXT = „Datum für Befristung fehlt!“Else
Try
Dim Datum As DateTime = DirectCast(sDatum, DateTime)If Datum < DateTime.Now Then
Me.ForeColor = „BLACK“
Me.BackColor = „RED“
Text = „Genehmigung abgelaufen“
Else
Me.ForeColor = „WHITE“
Me.BackColor = „GREEN“
Text = „Genehmigung aktiv“
End If
Catch
End Try
End If
End If
Result = TextBeim Testen des Code ist aber immer noch das Problem mit dem Datum – weiterhin ist DateTime nicht bekannt.
Kann mir einer weiterhelfen?
Gruß Jan Tappenbeck
Moin!
ich hatte eine fehlerhafte Auskunft bekommen und die Lösung bei der Datumskonvertierung ist:
Dim lastdate as Date = Ctype(Me.Value(„DATUM_NAECHSTE_KONTROLLE“), Date)
Wird der VB-Code in MapEdit aktiviert, dann muss eine kleine Anpassunge bei ME vorgenommen werden!
Dim lastdate as Date = Ctype(Me.StrValue(„DATUM_NAECHSTE_KONTROLLE“), Date)
Gruß Jan
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.