Hallo, ich habe eine Access 2.0 Datenbank auf Access 2003 konvertiert und möchte diese mit der Access 2010 Runtime ausführen lassen. Es dürfte bis jetzt alles passen, ich scheitere nur am Erstellen von neuen Datensätzen.
Es gibt ein Hauptformular (frmmitarb) mit einem Unterformular (ufrmbesmitarb). Wenn man auf "Neuer Datensatz klickt" soll einfach ein neuer Datensatz mit einer forlaufenden Nummer ersellt werden. Das Feld "mitcode" hat einen Primärschlüssel und die Datensätze 1-2000 und der neue Datensatz soll jetzt 2001 bekommen.
Aber er bekommt die ID -18900 . Ansonsten funkitoniert alles, man kann Daten in den Datensatz speichern, genau suchen und nacher löschen.
Nur die forlaufende Nummer checkt er nicht.
Private Sub btn_neuds_Click()
On Error GoTo Err_btn_neuds_Click
DoCmd.GoToRecord , , acNewRec
Forms![frmmitarb]![mitzunam] = " "
Me![ufrmbesmitarb].Formulare![besmitcode] = Me![mitcode]
Forms![frmmitarb]![mitzunam].SetFocus
Exit_btn_neuds_Click:
Exit Sub
Err_btn_neuds_Click:
MsgBox Error$
Resume Exit_btn_neuds_Click
End Sub
Wäre super wenn jemand einen Tip hat, habe leider bis jetzt noch nicht wirklich Access Erfahrung :-)
Danke!
Hallo,
Welchen Datentyp hat denn das Primärschlüsselfeld?
Eine "Laufende Nummer" ist an sich nicht nötig, es gibt auch keinen Standard-Vorgang in Access, der eine (richtige) laufende Nr erzeugt. Ein Feld mit Datentyp "Autowert" kann zwar auf "Inkrementell" gestellt werden, ist aber keine Garantie, dass keine Lücken auftreten können/werden.
Weiterhin ist Dein Code (bzgl. der PS-Zuweisung) überflüssig. Wenn die Tabellen über das/die Schlüsselfeld/er in den Tabellen in Beziehung stehen, dann reicht es aus, im UFO-Steuerelement die Eigenschaften "Verknüpfen von/nach" auf eben diese Schlüsselfeder zu setzen.
Private Sub btn_neuds_Click()
On Error GoTo Err_btn_neuds_Click
DoCmd.GoToRecord , , acNewRec
Me!mitzunam] = " "
Me![UFO-SteuerelementName]![besmitcode] = Me![mitcode]
Me![UFO-Steuerelementname].SetFocus
Exit_btn_neuds_Click:
Exit Sub
Err_btn_neuds_Click:
MsgBox Error$
Resume Exit_btn_neuds_Click
End Sub
Danke, ich habe die 3 Zeilen rausgenommen, das passt :-)
Ich habe das Feld auf Autowert und Inkrement, ändern kann ich es nicht, dann schreibt er, der Datentyp wird nicht unterstützt.
Es muss ja auch nicht zwingend eine forlaufende Nummer sein, aber "-200754" dann "-200753" usw sieht wirklich nicht schön aus.
Kann man das ändern?
Man kann das Feld auf unsichtbar setzen ::)
Danke, aber ich hab nach langer Suche eine Lösung gefunden:
http://allenbrowne.com/ser-40.html
Einmal das Skript über die Tabellen laufen lassen und alle Nummern passen wieder! Ein Traum :-)
Hallo,
das funktioniert aber nur , solange keine Datensätze in anderen Tabellen mit diesen "falschen" Werten verknüpft sind....