Attribute VB_Name = "udf_rownr" '------------------------------------------------------------------------------- 'File : udf_rownr.bas ' All rights reserved ' http://wiki.yaslaw.info/dokuwiki/doku.php/vba 'Environment : VBA 2010 + 'Version : 1.0.0 'Name : rowNr 'Author : Stefan Erb (ERS) 'History : 04.07.2018 - ERS - Creation '------------------------------------------------------------------------------- Option Explicit '/** ' * Die Funktion dient dazu, in einer Abfrage eine Zeilennummerierung durchzuführen ' * @example Design-Ansicht: ROW_NR: rownr(now; [id]) ' * @example SQL-Ansicht: rownr(now, [id]) as ROW_NR ' * @param Variant Ein fixer Wert, der als Kennung gilt, damit eine neue Zählung beginnt. Am Besten NOW() ' * @param Variant Ein Dummy, damit die Funktion für jede Zeile aufgerufen wird. zB. [ID] ' * @param Long Der Zähler kann damit auf einen bestimmten Wert gesetzt werden ' * @return Long ' */ Public Function rowNr(Optional ByVal iSeqName As Variant = Null, Optional ByRef iDummy As Variant = Null, Optional iSetTo As Variant = Null) As Long Const C_NULL = "NULL" Static seqName As Variant Static id As Long If NZ(seqName, C_NULL) <> NZ(iSeqName, C_NULL) Then id = 0 seqName = NZ(iSeqName, C_NULL) End If id = NZ(iSetTo, id + 1) rowNr = id End Function