collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 64
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13976
  • stats Beiträge insgesamt: 66571
  • stats Themen insgesamt: 8973
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Zählen in der Datenbank  (Gelesen 5006 mal)

Offline Christian111

  • Newbie
  • Beiträge: 47
Zählen in der Datenbank
« am: Oktober 29, 2010, 10:12:10 »
Hallo zusammen,
ich möchte gerne in einer Tabelle einen Zählmodus einbauen, der den letzten Wert im neuen Datensatz um 1 erhöht. kann mir bitte jemand sagen wie das geht?
Danke
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7284
Re: Zählen in der Datenbank
« Antwort #1 am: Oktober 29, 2010, 10:38:20 »
Hallo,
warum nimmst Du nicht einfach ein Autowertfeld?

Ansonsten kannst Du mit DMax() den letzten Wert ermitteln und 1 dazuzählen.
Z.B. im Ereignis "Beim Anzeigen":
Private Sub Form_Current()
    If Me.NewRecord = True Then
        Me!ZahlenFeld = Nz(DMax("ZahlenFeld", "Tabellenname) + 1
    End If
End Sub
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: Christian111

Offline Christian111

  • Newbie
  • Beiträge: 47
Re: Zählen in der Datenbank
« Antwort #2 am: Oktober 29, 2010, 11:01:54 »
der Autowert hilft mir nicht´s da ich jedes Jahr bei 1 anfangen muss.
Danke für deine Antwort    MzKlMu
mir ist nur nicht klar wie und wo ich den Befehl eingeben muss.
ich nin in der Tabelle in dem betreffenden Feld oder?? über Makro
Vorab schon danke für deine Hilfe
Gruß
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7284
Re: Zählen in der Datenbank
« Antwort #3 am: Oktober 29, 2010, 11:15:42 »
Hallo,
das ist VBA Code der im entsprechenden Ereignis als Ereignisprozudur angelegt werden muss.
In einem Formular, in der Tabelle direkt kann man das nicht.
Da muss aber noch ein Kriterium für das Jahr eingebaut werden.
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: Christian111

Offline Hondo

  • Administrator
  • Access Guru
  • *****
  • Beiträge: 4641
  • Balu
    • Access Hilfe
Re: Zählen in der Datenbank
« Antwort #4 am: Oktober 29, 2010, 11:43:24 »
Hallo,
Zuerst sollte die Frage geklärt werden ob die Nummerierung nachträglich bei vorhandenen Datensatzen eingefügt werden soll, oder bei der Eingabe der Daten in ein Formular.
Bei letzterem kannst du per VBA die nächsthöhere Nummer holen indem du z.B. per DMax-Funktion die letzte Nummer aus der Tabelle bei dem aktuellen Jahr holst, und um 1 erhöhst, so wie Klaus das beschrieben hat.

Andreas
 
Folgende Mitglieder bedankten sich: Christian111

Offline Christian111

  • Newbie
  • Beiträge: 47
Re: Zählen in der Datenbank
« Antwort #5 am: Oktober 29, 2010, 11:54:55 »
habe ich in "Beim Hingehen" als Ereigniss eingetragen
Me!Stock hinterlegt er immer ROT
wo ist denn der Fehler Bitte
nochmals danke für deine Hilfe

Private Sub Stock_Test_Enter()
Private Sub Form_Current()
If Me.NewRecord = True Then
Me!Stock_Test= Nz(DMax("Stock_Test", "Fahrzeugbuch") + 1
End If
End Sub
 

Offline Christian111

  • Newbie
  • Beiträge: 47
Re: Zählen in der Datenbank
« Antwort #6 am: Oktober 29, 2010, 12:17:24 »
Jetzt gehts VIELEN DANK euch beiden
Gruß
 

Offline Hondo

  • Administrator
  • Access Guru
  • *****
  • Beiträge: 4641
  • Balu
    • Access Hilfe
Re: Zählen in der Datenbank
« Antwort #7 am: Oktober 29, 2010, 12:39:07 »
Hallo,
ich sehe aber noch ein Fehler.
Du sagtest doch du willst immer jedes Jahr bei 1 beginnen?
Dann musst du deinen Code verändern.
Der Algorithmus ist wie folgt:

'Letzter ID holen mit aktuellem Jahr als Criterium
'Falls kein ID vorhanden dann bei 1 beginnen, da dies der erste Eintrag im neuen Jahr ist
'Ansonsten wenn ID vorhanden: ID incremieren

Gruß Andreas
 

Offline Christian111

  • Newbie
  • Beiträge: 47
Re: Zählen in der Datenbank
« Antwort #8 am: Oktober 29, 2010, 13:25:52 »
Hallo Andreas Danke für deinen Tip
da ich heute das erste mal mit diesen Codes arbeite, könntest du mir bitte den code einfügen bzw erstellen
Danke
???
 

Offline Hondo

  • Administrator
  • Access Guru
  • *****
  • Beiträge: 4641
  • Balu
    • Access Hilfe
Re: Zählen in der Datenbank
« Antwort #9 am: Oktober 29, 2010, 14:09:05 »
Hallo,
hier der Code:
Private Sub Form_Current()
    Dim nextID As long
    If Me.NewRecord = True Then
        Me!Zählfeld = nz(DMax("Stock_Test", "Fahrzeugbuch", "Jahr=" & year(now())), 0) + 1
    End If
End Sub

Voraussetzung ist in der Tabelle hast du ein Feld namens jahr.
Wenn du nur das Datum in der Tabelle hast lautet der code so:
Me!Zählfeld = nz(DMax("Stock_Test", "Fahrzeugbuch", "Jahr(Datum)=" & year(now())), 0) + 1