Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Christian111 am Januar 07, 2011, 16:50:37

Titel: zählen in der Datenbank
Beitrag von: Christian111 am Januar 07, 2011, 16:50:37

Hallo zusammen und ein gutes Neues Jahr  ihr seid hoffentlich  gut rübergerutscht? ;)

mit diesem Eintrag in Ereigniss nach Änderung zählt die datenbank immer bei aufruf einer neuen seite sollte aber nur zählen wenn im Feld Standort etwas eingetragen wird    Bite um eure Hilfe  Danke Gruß Christian 111

Private Sub Text5_Change()
Private Sub Stocknummer_Enter()
Private Sub Form_Current()
    Dim nextID As Long
    If Me.NewRecord = True Then
     Me!Stocknummer = Nz(DMax("Stocknummer", "Fahrzeugbuch", "Jahr=" & Year(Now())), 0) + 1
    End If
End Sub
Titel: Re: zählen in der Datenbank
Beitrag von: database am Januar 07, 2011, 17:09:31
Hallo,

danke der Nachfrage - man(n) rutschte gut... - auch dir ein gutes Neues Jahr  ;D

Zitatsollte aber nur zählen wenn im Feld Standort etwas eingetragen wird
...dann ist dein Code nicht der richtige Ansatz - wobei der so wie er da steht sowieso nichjt funktionieren kann  ;)

Um das Feld 'Stocknummer' mit einem iterierten Wert zu befüllen brauchst du entweder das Ereignis 'AfterUpdate' oder 'BeforeUpdate' des Feldes Standort!

Als Beispiel folgendes Schnippsel, wobei 2 Bedingungen geprüft werden - ob im Feld Standort was eingetragen wurde und ob es sich dabei um einen neuen Datensatz handelt.


Private Sub Standort_BeforeUpdate(Cancel As Integer)
   If Me!Standort <> "" And Me.NewRecord = True Then
       Me!Stocknummer = Nz(DMax("Stocknummer", "Fahrzeugbuch", "Jahr=" & Year(Now())), 0) + 1
   Else
       Me!Standort.Undo    'nicht zu verwenden, wenn eine Änderung in Standort bei 'alten' Datensätzen möglich sein soll
       Cancel = True
   End If
End Sub


Fürs AfterUpdate-Ereignis KÖNNTEST du folgendes verwenden:

Private Sub Standort_AfterUpdate()
    If Me.Standort <> "" And Me.NewRecord = True Then
        Me!Stocknummer = Nz(DMax("Stocknummer", "Fahrzeugbuch", "Jahr=" & Year(Now())), 0) + 1
    End If
End Sub


HTH