Startseite Foren Map 3D Basics Topobase – Formularfeld mit Datumauswertung

Ansicht von 2 Beiträgen – 1 bis 2 (von insgesamt 2)
  • Autor
    Beiträge
  • JanTappenbeck
    Teilnehmer
    Beitragsanzahl: 28

    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 = Text

    Beim Testen des Code ist aber immer noch das Problem mit dem Datum – weiterhin ist DateTime nicht bekannt.

    Kann mir einer weiterhelfen?

    Gruß Jan Tappenbeck

    JanTappenbeck
    Teilnehmer
    Beitragsanzahl: 28

    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

Ansicht von 2 Beiträgen – 1 bis 2 (von insgesamt 2)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.