Hallo, Wolfgang!
Ich würde gerne in einem Formular (Tabellenform) jede Zeile
nummerieren. In einem Bericht ist es kein Problem. Aber für
einer Formulartabelle habe ich noch keine Funktion gefunden.
Ich denke da an ein Textfeld, dass sich jeweils um den Wert 1
erhöht. Vielleicht hat jemand so etwas mal gemacht.
Die vorher genannte AutoWert-Tabelle funktioniert leider nur einmalig. Beim nächsten Anzeigen wird nicht wieder von vorne angefangen zu zählen, außer, Du reparierst und komprimierst die Datenbank zwischendrin. Und das ist aus dem laufenden Programm heraus nicht ganz trivial.
(Oder Du kopierst Dir eine leere Tabelle mit Autowert-Feld jedes Mal; dann hast Du aber eine leere „Anzeigetabelle“, eine Kopie, diese musst Du löschen, und das bläht Deine Datenbank mit der Zeit ganz ordentlich auf.)
Für ein Formular funktioniert das nicht, da musst Du mit einer Krücke leben. Du brauchst eine Funktion, die Dir diesen Schlüsselwert hochzählt. Dazu definierst Du Dir eine globale Variable; ich nenne sie einfach mal glngLfdNr.
Dann die Funktion zum Hochzählen (Schrittweiten und Startwerte gerne variierbar):
Function GetLfdNr() As Long
glngLfdNr = glngLfdNr + 1
GetLfdNr = glngLfdNr
End Function
Im Form_Load Deines Formulares setzt Du glngLfdNr=0:
Private Sub Form\_Load()
glngLfdNr = 0
End Sub
Und Dein ungebundenes Textfeld mit der lfd. Nummer bekommt dann als Steuerelementinhalt „=GetLfdNr()“
Wenn Du diese Daten auch in der Datenbank halten willst, muss das natürlich in ein einzelnes Feld geschrieben werden.
Gruß, Manfred