Access - Datensätze zählen

  • #1
I

iggboert

Aktives Mitglied
Themenersteller
Dabei seit
30.01.2006
Beiträge
39
Reaktionspunkte
0
Hi, bin mit meiner Datenbank schon ziemlich weit ;D

Allerdings steh ich jetzt vor nem weitern Problem.
Ich muss alle Datensätze zählen und auf dem Formular ein Feld erstellen, und die Zahl dort wiedergeben.

Hatte mir irgendwie gedacht dass man da ne Funktion wie bei Excel machen könnte...

Maximalwert der Spalte ID (ID is bei mir die Spalte, die fortlaufend mit jedem Datensatz hochgezählt wird)

Kriegs aber nicht hin.
Hat jemand ne Idee?
Danke schon mal im vorraus

Gruss
Igge
 
  • #2
Versuch es mit Select count(*) from... Where...

Eddie
 
  • #3
hi, sorry, dass ich erst so spät antworte.
war nicht mehr am rechner. Boarden war schöner ....


Habs jetzt auf ne andere Art und Weise gelöst.
Hab die Tabelle beschissen, indem ich ne neue Spalte eingefügt habe, und nen (Autowert) vergeben hab. Nun greif ich einfach auf die letzte Zelle zu, und hab des was ich wollte ;D

Trotzdem Danke
 
  • #4
Und was machste wenn zwischendurch ein Datensatz gelöscht wird ?? ??? ??

iggboert schrieb:
Hab die Tabelle beschissen,

Wer is nun der beschissene :°
 
  • #5
das is ja eben das geniale an nem autowert!

der ändert sich dann selbstständig, und weisst dem Datensatz halt ne neue Nummer zu!
--> komm ich immer aufs richtige Ergebnis.

Erklärung:
Vorher: Datensätze 1=a, 2=b, 3=c, 4=d, 5=e,
Jetzt lösch ich Datensatz der das c hat. Dann ändert sich die ID automatisch!

Nachher: Datensätze 1=a, 2=b, 3=d, 4=e

letzte ID der Tabelle = 4
bin ich also wieder richtig ;D
 
  • #6
Das wäre mir neu.

Eddie
 
  • #7
Dann ist der Auto-Wert in der Acces-DB schei..e ;)

In einer vernünftigen DB klappt sowas AFAIK nicht.

Es soll tasächlich auch Abfragen geben, die genau diese z.B. ID (autom. vergeben) abfragen.
Angenommen du hast eine Tabelle => Länder

ID | Name
1 Germany
2 Austria
...
...
25 Usbekistan
...
...

Was nu wenn du Datensatz 2 löschst, dann ist Usbekistan eben nicht mehr 25, sondern 24 ;)

Das währe doch fatal, wenn du genau weißt, die 25 is das und das Land, und nu stimmts auf einmal nimmer.
 
  • #8
Solange Germany die 1 bleibt, ist das doch egal ;)
Aber im Ernst, auch Access macht das nicht. Lösche ich Datensätze, wird der Autowert nicht neu generiert.
Falls das bei iggboert der Fall ist, wüsste ich gerne, welche Access Version und wie das eingestellt wurde.

Eddie
 
  • #9
@Eddie:
keine ahnung wie ich das eingestellt hab.
hab eigetlich gar nix gemacht. Nur ganz einfach ne Spalte mit Autowert eingefügt.
Es handelt sich um Access 2003.


@Conny:
Da ich ja gar nicht wissen will, welches Land welche Nummer hat, sondern einfach nur die Datensätze zählen will, ist mein Zwek damit erfüllt!
 
  • #10
So ganz ist das Problem nicht gelöst! Wenn ein Datensatz gelöscht wird, dann stimmt der Autowert nicht mehr mit der tatsächlichen Anzahl der Datensätze überein.

Hiermit gehts am schnellsten:

Set Db = DBEngine.OpenDatabase(Datenbank.mdb)
nCount = Db.TableDefs(Tabelle).RecordCount

Wobei Datenbank.mdb und Tabelle jeweils der betreffende Name Deiner Anwendung sein muß.

Gruß
Kurt Körner
 
  • #11
habs jetzt mal auf Kurt weise probiert, und muss sagen, sie ist genauso schnell wie meine, hat aber nen entscheidenden Vorteil! Sie verkleinert die DB um rund 230 KB (da ich ja die Spalte nimmer brauch).

Danke!
 
Thema:

Access - Datensätze zählen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben