User Tools

Site Tools


vba:tutorials:form_row_nr

[VBA][Access] flexible Zeilennummern in einem Form anzeigen

Dieses kleine Tutorial zeigt, wie man in einem Datensheet oder einem Endlosform eine Zeilennummer anzeigen kann

  1. Ein ungebundenes Textfeld erstellen. Ich nenne es mal tbxRowNr.
    1. Dem neuen Textfeld die Control Source =rowNr() mitgeben. Bild
    2. Das Textfeld auf disabled und loocked setzen Bild
    3. Für das Formular das Code-Modul aktivieren (Formular-Parameter HasModule = True) Bild
  2. Den untenstehenden Code dem Formular hinterlegen.
    1. die Konstante C_ROWNR_CONTROL anpassen und den Namen des Steuerelementes eingeben

Option Explicit
 
'-------------------------------------------------------------------------------
' -- Settings
'-------------------------------------------------------------------------------
Private Const C_ROWNR_CONTROL = "tbxRowNr"  'Name des Steuerelemtens mit der Zeilennummer
 
'-------------------------------------------------------------------------------
' -- Private Members
'-------------------------------------------------------------------------------
Private pRowNr As Long              'SPeichern der letzten Zeilennummer
 
'-------------------------------------------------------------------------------
' -- Private Events
'-------------------------------------------------------------------------------
 
'/**
' * Bei Löschen, hinzufügen, Filtern etc. neu berechnen
' */
Private Sub Form_Current()
    pRowNr = 0                      'Nummer zurücksetzen
    Me(C_ROWNR_CONTROL).Requery     'Nummer neu berechnen
End Sub
 
'-------------------------------------------------------------------------------
' -- Public Methodes
'-------------------------------------------------------------------------------
 
'/**
' * Gibt die nächste Zeilennummer zurück
' * @return Long/Null
' */
Public Function rowNr() As Variant
    'Letzter leerer zukünftiger Datensatz nicht berechnen
    If Me.Recordset.RecordCount <= pRowNr Then
        rowNr = Null
    Else
        pRowNr = pRowNr + 1 'Letze Nummer eins hochrechnen
        rowNr = pRowNr      'und zurückgeben
    End If
End Function
vba/tutorials/form_row_nr.txt · Last modified: 24.08.2017 14:41:16 by yaslaw