Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Positionsnummer im Unterformular

Begonnen von lutschi83, Januar 04, 2017, 11:38:23

⏪ vorheriges - nächstes ⏩

lutschi83

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?

Beaker s.a.

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)
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)