Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

DS copy bringt Einfügefehler

Begonnen von accessy, März 28, 2014, 11:57:42

⏪ vorheriges - nächstes ⏩

database

Hallo,

ZitatT_ID ist das Bezeichnungsfeld des Primärschlüssels
Das Bezeichnungsfeld darfst du nicht ansprechen sondern das Datenfeld. Wenn du Me. eingibst sollte das Feld aus dem Kontext auswählbar sein.
Wenn du das ID-Feld am Formular anklickst und dessen Eigenschaften aufrufst, siehst du den tatsächlichen Namen des Feldes - den musst du verwenden.


ZitatAber das K_ID habe ich nicht...
Um dich nicht vollends zu verwirren - das ist der Feldname MEINES ID-Feldes am Formular.
Da ich das Beispiel auf die Schnelle zusammengeschoben habe, habe ich übersehen, den Namen des Feldes anzupassen.
Im Anhang findest du nun das berichtigte Beispiel nochmals.
DoEvents stand bei mir noch im Code, da ich was probiert hatte - ob das drin steht oder nicht hat keinen Einfluss auf die Funktionalität des Beispiels.

accessy

Ich glaube, ich bin kurz vor dem Ziel.
Also, die Copy-Funktion geht jetzt.
So weit so gut.
Jetzt ist es aber so, dass ich den eben gerade kopierten DS natürlich editieren will.

Aber nach dem Makrodurchlauf steht die DB zwar am letzten DS, trotz des Befehls
DoCmd.Gotorecord, , aclast.
Aber das ist NICHT der eben kopierte.

Ich habe das Me.Requery zum aktualisieren  mal deaktiviert.
Aber der eben kopierte DS ist dennoch nicht ganz hinten.

Eigentlich ist es ja egal wo der jetzt steht, doch ich will natürlich, dass der jetzt kopierte angezeigt wird zum editieren meiner Werte.

Hast du dafür auch eine Idee?

Gruß Achim

DF6GL

Hallo,

ich nehme stark an (bzw. hoffe das inständig   ;)  ) , dass der neu kopierte DS einen Primärschlüssel(wert) beinhaltet...

Dieser ist für die Positionierung des Cursors  heranzuziehen.

http://www.donkarl.com/?FAQ4.4
bzw.
http://www.donkarl.com/?FAQ4.5




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

accessy

Also das Tool_ID ist der Primärschlüssel.
Aktuell z.B. ist der letzte Primärschlüssel, also DS die 280.

Klicke ich auf meinen CommandButton wird das Makro ausgeführt und der DS kopiert.
Das passt alles.
Der DS erhält als laufende Nummer den Wert 281.

Mein Formular ist grundsätzlich so eingestellt, dass es beim Öffner nach Datum Abwärts sortiert erscheint. Das soll auch so bleiben. Spielt ja für meinen kopiervorgang keine Rolle, denn die DB ist ja offen und das Formular wird ja nicht nochmal geöffnet.

Ich müsste vielleicht nach dem Copy-Vorgang die Sortierung auf Tool_ID DESC stellen.
Dann wäre ich nach dem Kopieren auf dem DS, oder?

Gruß Achim

DF6GL

Hallo,

irgendwie verstehst Du nicht...

der akt. Datensatz wird mit einer POSITIONIERUNG der Formular-Cursors eingestellt und nicht mit einer Sortierung oder auf-/ab-Bewegung (des Cursors)

Me.Recordset.Findfirst "Tool_ID=" & Me!Tool_ID


(Wenn in "Me!Tool_ID" der neue Primärschlüsselwert drinsteht. Ansonsten halt eine Variable oder sonstwas heranziehen, die den neuen PK-Wert enthält.)
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

accessy

Du hast Recht. Ich bekomme es nicht gebacken.
Ich habe mal das Feld Tool_ID, also meinen Primärschlüssel in meinem Formular auf "Sichtbar" geändert.
Beim Öffnen der DB wird die Tabelle nach Tool_ID DESC sortiert ins Formular eingelesen; nicht mehr nach Datum DESC.

Aktuell sind jetzt 280 DS drin.
Gelöst habe ich es jetzt so:

Beispiel:
Ich gehe jetzt mal zum DS mit Primärschlüssel Nummer 262.
Ich klicke auf meinen CommandButton.
Der DS 262 wird nun kopiert, erhält den Primärschlüssel 281 und
ist wird zum Editieren angezeigt,
weil die Sortierung nach Tool_ID DESC den letzten DS, also Nummer 281 anzeigt.

Sicher keine perfekte Lösung, aber sie funktioniert.
Gruß Achim