Hallo Leute,
ich habe ein Problem mit meiner Datenbank. Ich möchte gern im Unterformular eine Positionsnummer anzeigen lassen bzw. diesen Wert auch in die Tabelle schreiben lassen.
Folgenden Code verwende ich dafür:
Private Sub Form_BeforeInsert(Cancel As Integer)
Dim pos As Variant
 pos = DMax("Position", "tbl_order_entry", "[tbl_order_entry_ID] = Forms!frm_order![tbl_order_entry_id]")
 Me!Position = IIf(IsNull(pos), 1, pos + 1)
End Sub
Leider zeigt mir dieser Code immer nur "1" in dem jeweiligen Positionsfeld an. Er zählt leider nicht hoch.
Kann mir jemand damit helfen bitte?
			
			
			
				Hallo, 
Und wenn du das jetzt noch in ein allgemeines Modul verfrachtest und ein
Formobjekt als Parameter mitgibst, kannst du das auf allen Formularen verwenden.
Function Zaehler(frm As Form) As Long 
     Dim rs As Object 
     Dim T1 As String 
     
     On Error Resume Next   'würde ich vielleicht durch eine richtige Fehlerbehandlung ersetzen
   With frm
     Set rs = .RecordsetClone 
     T1 = .Bookmark 
     If T1 = "" Or .NewRecord Then 
         Zaehler = rs.RecordCount + 1 
       Else 
         rs.Bookmark = .Bookmark 
         Zaehler = rs.AbsolutePosition + 1 
     End If 
  End With
 End Function
gruss ekkehard
ach so, Aufruf dann mit
irgendwas = Zaehler(Me)