Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: braveheartchris am Juli 06, 2010, 19:10:35

Titel: ID Dekrement
Beitrag von: braveheartchris am Juli 06, 2010, 19:10:35
Hallo,
ich bin zZ dabei mir eine Liste für meine dvds in access zu erstellen.
Dazu habe ich bereits eine tabelle und ein Formular erstellt.

dem formular habe ich schaltflächen hinzugefügt mit welchen ich durch meine filmliste navigieren, löschen, speichern oder hinzufügen kann - gut das geht auch alles.

aber wenn ich jetzt sagen wir 5 einträge erstellt habe und das fünfte dann lösche, zählt mir der primärschlüssel das löschen nicht minus eins, somit bin ich bei ID 6.

Ich hätte aber gerne mein ID vortlaufent also 1,2,3,4,5.... und nicht 1,2,3,4,6

nochmal:
ID
1.  eingabe
2.  eingabe
3.  eingabe
4.  eingabe
5.  eingabe  - wird jetzt von mir gelöscht!
6.  eingabe  - hier sollte nun eigentlich 5. folgen aber er zählt mir die gelöschte eingabe mit


kann mir jemadn helfen bitte?





Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 19:26:15
Hallo,
eigentlich sollte es für den Primärschlüssel bedeutungslos sein, wenn da eine Lücke ist. Wenn Du eine durchlaufende Nummerierung willst, solltest Du dazu ein eigenes Feld anlegen. Allerdings, hast dann exakt das gleiche Problem, Du musst mit DMax den höchsten Wert ermitteln und 1 dazu zählen. Aber Lücken werden damit auch nicht gefüllt.
Der einfachste Weg, ist eine Hilfstabelle die fortlaufend alle Zahlen enthält. Mit einer Abfrage kann dann ermittelt werden, wo eine Lücke ist in den echten Datensätzen.

[Anhang gelöscht durch Administrator]
Titel: Re: ID Dekrement
Beitrag von: Manfred S am Juli 06, 2010, 19:28:23
Hallo,
das ist genau das, was den Primärschlüssel ausmacht.
Er dient nicht zur Vergabe einer fortlaufenden, ununterbrochenen Nummer.

Schau mal in den Thread "Formular mit Datenbank verbinden". Ca. 3 Themen unter Deinem.
Dort wird ein Code dargestellt.
Das könnte die Lösung sein...
Gruß
Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 19:32:23
@Manfred S
Das ist auch nicht die Lösung, weil da auch keine Lücken gefüllt werden. Es wird ja mit DMax der höchst Eintrag ermittelet und 1 dazu gezählt. 1,2,3,5 ist 5 das Maximum +1 = 6, die 4 ist immer noch nicht gefüllt.
Ich habe oben mal ein Beispiel mit der Hilfstabelle angehängt.
Titel: Re: ID Dekrement
Beitrag von: braveheartchris am Juli 06, 2010, 19:33:11
danke für die antwort.

wie mache ich das dann wenn ich ein neues feld erstelle.
welchen datentyp hat das feld dann - AutoWert geht ja nur einmal in der Tabelle.

wie mache ich das dann das er mir das vortlaufent zählt?
aber da wird ja dann das selbe problem wie beim Primärschlüsselaufträten beim löschen, wie du schon sagtest.
Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 19:34:35
Hallo,
siehe meine Ergänzung in meinem ersten Beitrag. Habe ein Beispiel angehängt.
Titel: Re: ID Dekrement
Beitrag von: braveheartchris am Juli 06, 2010, 19:35:22
Zitat von: MzKlMu am Juli 06, 2010, 19:32:23
Es wird ja mit DMax der höchst Eintrag ermittelet und 1 dazu gezählt. 1,2,3,5 ist 5 das Maximum +1 = 6, die 4 ist immer noch nicht gefüllt.

kann man DMax nicht im Code von der löschenschaltfäsche um 1 Dekremtieren?
Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 19:46:27
Hallo,
Zitatkann man DMax nicht im Code von der löschenschaltfäsche um 1 Dekremtieren?
Und dann, die Lücke ist doch jetzt zufällig bei 4, wenn die bei 2 wäre, was dekremtierst Du dann?
Du müsstest ja den Wert zum dekremtieren ermitteln, was ja auch wieder ein ziemlicher Aufwand wäre, ohne dass ich mir darüber jetzt Gedanken gemacht hätte. Und auch nicht tun werde, weil die Hilfstabelle (wie im Beispiel) die absolut einfachste Methode ist.
Mit einer einzigen Zeile VBA.
Titel: Re: ID Dekrement
Beitrag von: braveheartchris am Juli 06, 2010, 19:58:35
MzKlMu hab dir ne pn geschickt
Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 20:04:10
Hallo,
ich möchte keine PN zur Lösung von Problemen. Alles läuft über das Forum.
Ich lade auch bei Rapidshare nichts herunter. Du kannst die Datei im Forum direkt anhängen. Ohne Rapidshare.
Und bitte in eine Version kleiner Access2007 konvertieren, falls Du eine neuere Version hast. Access2007 haben noch nicht so viele.
Im Forum helfe ich Dir gern, aber nicht per PN.
Titel: Re: ID Dekrement
Beitrag von: braveheartchris am Juli 06, 2010, 20:18:13
die datei ist leider etwas zu gross, deshalb rapidshare http://rapidshare.com/files/405343782/Filmliste_1080p_datenbak_-_Kopie.rar (http://rapidshare.com/files/405343782/Filmliste_1080p_datenbak_-_Kopie.rar)

ich hab erst gestern mit access angefangen - bin also absoluter anfänger.

kannst du mir zeigen wie ich diese hilfstablle genau erstelle und dann mit meinem formular/tabelle "verknüpfe"?


Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 20:24:45
Hallo,
Zitat von: MzKlMu am Juli 06, 2010, 20:04:10
Und bitte in eine Version kleiner Access2007 konvertieren, falls Du eine neuere Version hast. Access2007 haben noch nicht so viele.
Ich habe kein Access2007, wenn Du nicht konvertierst, kann ich Dir nicht helfen.
Titel: Re: ID Dekrement
Beitrag von: braveheartchris am Juli 06, 2010, 20:32:05
hmm hab Access 2010 - kann die datei irgendwie nur als 2007er speichern :(
Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 20:42:12
Hallo,
irgendwo muss es eine Möglichkeit geben in Access2003 zu speichern. Da sich Bedienung von A2003 nach A2007 grundsätzlich geändert hat, habe ich aber keinen weiteren Hinweis dazu.
Titel: Re: ID Dekrement
Beitrag von: braveheartchris am Juli 06, 2010, 21:06:05
habs gefunden unter freigabe.

aber speicher lässt er mich nicht weil ich features verwendet habe mit der 2003 nichts anfangen kann:(
Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 21:25:45
Hallo,
Zitataber speicher lässt er mich nicht weil ich features verwendet habe mit der 2003 nichts anfangen kann
Die entfernst Du am besten soweiso wieder, denn die taugen eh nichts. Vermutlich Mehrwertgelder.
Titel: Re: ID Dekrement
Beitrag von: braveheartchris am Juli 06, 2010, 21:34:00
kannst mir das vielleicht auch so verklickern wie man die hilfstabelle erstellt und dann "verknüpft"?
Titel: Re: ID Dekrement
Beitrag von: MzKlMu am Juli 06, 2010, 21:59:16
Hallo,
das beispeil beinhaltet alles. Wenn Du das verstanden hast, hast Du auch die Lösung.
Titel: Re: ID Dekrement
Beitrag von: braveheartchris am Juli 07, 2010, 11:18:28
wie stellt man den diese beziehung zwischen den beiden tabellen her?

du hast da ja gryLücken (abfragetyp) - wie erstell ich das?