Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Beim Löschen eines Datensatz Index fortlaufend anzeigen

Begonnen von Stapi, April 14, 2012, 13:20:05

⏪ vorheriges - nächstes ⏩

Stapi

Hallo

Ich stehe gerade gedanklich voll auf dem schlauch und benötige wieder mal eure Hilfe.
Es wir in ein Formular Datensätze geschrieben der Index (Zähler) als Zahl soll beim anfügen eines Datensatz um immer einen wert 1 hochgezählt werden, ist der max Wert von z.b 30 erreicht darf es keine Möglichkeit mehr geben einen Datensatz an zu fügen. Nun kann es vor kommen das der Anwender einen Datensatz mit dem Index z.b 15 löscht, wie kann ich nun diese Lücke schließen so das die nachfolgenden Datensätze wieder im fortlaufender Index angezeigt werden.
Grüße aus dem schönen NRW
Stefan

DF6GL

Hallo,

welchen Sinn soll so ein Zähler ergeben?

Was ist der eigentliche Hintergrund bei dieser Geschichte?

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Stapi

Hallo Franz

Diese Datenbank soll genutz werden um diese Parameter später in eine Maschine zu schreiben, dabei ist es wichtig das die Reihenfolge des Zähler genau so dem der Maschine enspricht. Zu erwähnen ist noch der Aufbau der Tabelle:               Autowert: Fach_id , Fremdschlüssel: FK_Fach , Zähler: als Zahl  Fach_Parameter: als Zahl. Solange der Fremdschlüssel gleich ist sollen allen angefügten Datensätze hochgezählt werden bis zur vorgegebenen max Grenze.
Grüße aus dem schönen NRW
Stefan

DF6GL

#3
Hallo,

irgendwie blicke ich nicht die Funktionsweise..

Kommt der "Zähler"  denn auch aus den Maschinendaten, bzw. braucht die Maschine beim "Hochladen" der Parameter diese Reihenfolge?

Hat der Zähler irgendeine andere Bedeutung als  nur die "Anzahl" der DS anzuzeigen (d. h. als laufende Nr zu fungieren)?

Wenn das eigentliche Kriterium lediglich die Anzahl der DS (bezogen auf einen "FK_Fach" -Wert), dann könnte die akt. Anzahl der DS mit Hilfe der DCount-Funktion ermittelt (oder auch als RecordCount in einem passenden Unterform) und mit entspr. Reaktion überprüft werden.

Um den "Zähler" (der hier in Access gar nicht gebraucht wird) wieder beginnend bei 1 hochlaufend zu setzen (d. h. neu zu generieren), kann der Recordset des o. g. Unterforms ebenfalls herangezogen werden.


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Stapi

Hallo Franz

ZitatKommt der "Zähler"  denn auch aus den Maschinendaten, bzw. braucht die Maschine beim "Hochladen" der Parameter diese Reihenfolge?
Ja das ist exakt so.

ZitatHat der Zähler irgendeine andere Bedeutung als  nur die "Anzahl" der DS anzuzeigen (d. h. als laufende Nr zu fungieren)?
In der Maschine gibt es den Zähler 1, aus der Datenbank wird der Datensatz mit dem  Zähler1 und dem Parameter,  dem Datensatz der Maschine zugewiesen.

Würde nun in der Datenbank der Zähler z.b 35 verwendet könnte die Maschine ihn nicht verwenden da sie für diese Funktion eventuell nur bis Zähler 30 einlesen kann
Grüße aus dem schönen NRW
Stefan

DF6GL

Hallo,

naja,  dann mach das halt so wie vorhin gesagt in einer Haupt-/Unterformular-Konstruktion:

Max. Anzahl DS (30) mit Dcount (oder Ähnlichem) abchecken.

Bei/nach einer Löschung eines DS die "Zählerspalte" wieder mittels Recordset regenerieren.  Dass dabei die einzelnen DS zum vorherigen Zustand unterschiedliche Zähler-Werte verpasst bekommen, sollte aber klar sein....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Stapi

Hallo Franz

ZitatMax. Anzahl DS (30) mit Dcount (oder Ähnlichem) abchecken.
Habe ich hier im Forum Beispiele gefunden die ich für mich ändern muss, das bekomme ich ich hin.

ZitatBei/nach einer Löschung eines DS die "Zählerspalte" wieder mittels Recordset regenerieren.  Dass dabei die einzelnen DS zum vorherigen Zustand unterschiedliche Zähler-Werte verpasst bekommen, sollte aber klar sein....
Muss ich dir ehrlich im Moment sagen weiss nicht wie das im Ansatz Anfangen soll.
Grüße aus dem schönen NRW
Stefan

DF6GL

Hallo,

hier ein Beispiel, das Du an Deine Gegebenheiten anpassen mußt  :

Dim rs As DAO.Recordset, i As Long

Set rs = Me.RecordsetClone
If rs.RecordCount > 0 Then
rs.MoveFirst
Do Until rs.EOF
i = i + 1
rs.Edit
rs!Zähler= i
rs.Update

rs.MoveNext
Loop
Me!Zähler.DefaultValue = i + 1
End If

Set rs = Nothing

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Stapi

Hallo Franz

Danke für die Unterstützung, das hilft mir sehr.
Grüße aus dem schönen NRW
Stefan

Stapi

Hallo Franz


Ich habe das wunderbar heute, dank deiner Hilfe Umsetzen können, vielen Dank dafür
Grüße aus dem schönen NRW
Stefan