#

Access vba: Fortschreibende Vorgabewerte erstellen

 

 

Aufgabe:

in einem Eingabefeld sollen die Vorgabewerte für neue Zeilen automatisch einem Zähler oder einer fortlaufenden Nummerierung entsprechen

 

Lösung:

In Vba ermittelt man den eingegebenen Wert. Hiervon berechnet man ob es einen Trennpunkt gibt und erhöht anschliessend den rechten Teil ab der Trennung durch erhöhung der ASCII – Nummern.

 

Fortschreibung einer Nummererierung mittels Ascii

'*.a or .1

Next_Letter = Chr(Asc(sExt) + 1)

 

 

 

Lösungs-Code in vba Visual Basic for Applcations.

Eingesetzt in Microsoft Access alle Versionen

Private Sub ctlPosition_AfterUpdate()

    '--------< ctlPosition_AfterUpdate() >--------

    '< check input >

    Dim sInput As String

    sInput = Nz(ctlPosition.Value, "")

 

    Dim posPoint As Integer

    posPoint = InStr(1, sInput, ".")

    '</ check input >

 

    If posPoint > 0 Then

        '----< Has .Point >----

        Dim sExt As String

        sExt = Mid(sInput, posPoint + 1)

        If Len(sExt) = 1 Then

            '--< Single Extension >--

            '*.a or .1

            sExt = Chr(Asc(sExt) + 1)

            Dim sFront As String

            sFront = Mid(sInput, 1, posPoint)

 

            '< set Default >

            ctlPosition.DefaultValue = "'" & sFront & sExt & "'"

            '</ set Default >

            '--</ Single Extension >--

        End If

        '----</ Has .Point >----

    Else

        '----< Numeric >----

        If IsNumeric(ctlPosition) Then

            '-< IsNumeric >-

            Dim sNext As Integer

            sNext = CLng(ctlPosition) + 1

            '< set Default >

            ctlPosition.DefaultValue = "'" & sNext & "'"

            '</ set Default >

            '-</ IsNumeric >-

        End If

        '----< Numeric >----

    End If

    '--------</ ctlPosition_AfterUpdate() >--------

End Sub

 

 

Einfach in den AfterUpdate Event einsetzten.

Mobile

.

123movies