zimmeradler
Goto Top

Access Unterschiedliche Daten zwischen Abfrage und Formular

Hallo!

Habe ein kleines Problem in meiner Datenbank.

Ich habe eine Tabelle wo eine laufende Nummer als Primärschlüssel gesetzt ist. Die Nummer wird mit einem VBA-Skript automatisch hochgezählt. Hier das Skript :

Dim p As Long
DoCmd.GoToRecord , , acLast
p = artikelnummer
DoCmd.GoToRecord , , acNewRec
p = p + 1
artikelnummer = p


Auf diese Tabelle bezieht sich eine Abfrage. In der Tabelle und in der Abfrage werden alle Datensätze gezeigt.

Die Abfrage ist die Grundlage für ein Formular.

So in der Tabelle und in der Abfrage werden alle 1747 Datensätze angezeigt.

Gehe ich nun ins Formular werden mir die letzten zwanzig Artikel nicht angezeigt.

Klicke ich auf den Button letzter Datensatz wird zum Datensatz 1727 gesprungen.

Hoffe es kann mir jemand weiterhelfen, so dass auch alle Daten im Formular angezeigt werden und auch wenn dich den Befehl acLast nutze ich auch wieder zum letzten Datensatz springe.

vielen Dank für eure Mühen im vorraus

zimmeradler

Content-ID: 42295

Url: https://administrator.de/contentid/42295

Ausgedruckt am: 25.11.2024 um 18:11 Uhr

verkehrsberuhigt
verkehrsberuhigt 16.10.2006 um 17:58:06 Uhr
Goto Top
Dim p As Long
DoCmd.GoToRecord , , acLast
p = artikelnummer
DoCmd.GoToRecord , , acNewRec
p = p + 1
artikelnummer = p
Wie stellst Du denn sicher, dass im letzten, bereits vorhandenen Datensatz immer die höchste ArtikelNummer hinterlegt ist, auf deren Basis Du eine neue Nummer festlegst?
Ich fürchte, dass Du eine Inkonsistenz in der DB hast. Wäre es nicht einfacher, die höchste bereits vergebene Nummer zu suchen und diese dann um eins zu erhöhen? Vielleicht lässt sich das - noch - am einfachsten prüfen, in dem Du das Formular mal in der Endlosansicht prüfst.
BigWumpus
BigWumpus 16.10.2006 um 23:50:45 Uhr
Goto Top
1. Access vergibt automatisch eine eindeutige Nummer, die sich automatisch hochzählt, wenn man den richtigen Datentyp verwendet (Autoincrement???)

2. Die größte vergebene Nummer in einer Tabelle würde ich über die Funktion DOMMAX (oder wie sie heute heißen mag) ermitteln.
Zimmeradler
Zimmeradler 19.10.2006 um 13:56:51 Uhr
Goto Top
vielen dank für eure Hilfe.

Zimmeradler