Elite Veteran
Beiträge: 876
Ort: Wien | PUe - 26.12.11
...INSERT INTO Literatur ( ... ISBN,
...FROM Literatur
WHERE (((Literatur.ISBN)=[Formulare]![fmr_Lit_kopie]![ISBN]));
Das Problem ist, dass du kein eindeutiges Feld als Kriterium der Abfrage verwendest. Die ISBN existiert schon nach der ersten Kopie in 2 Datensätzen usw. Daher die wunderbare Buchvermehrung.
Wenn du bei diesem Vorgehen bleiben willst (s.u. wie es anders geht), dann sollte es in deiner Tabelle "Literatur" zusätzlich ein Feld geben, das jeden Datensatz eindeutig identifiziert. Am einfachsten bekommt man so etwas durch ein Feld mit Datentyp Autowert. Erstelle dir also ein solches Feld, nenne es z.B. BuchId und vergib den Primärschlüssel darauf, falls du in der Tabelle noch keinen hast. Danach benutze dieses Feld als Kriterienfeld in der Abfrage.
Übrigens... statt mehrere Felder x-fach zu kopieren, solltest du eigentlich die Tabellenstruktur optimieren. D.h. jedes Buch steht nur 1 x mit seinen Daten in der Literatur-Tabelle und dafür erstellst du eine Exemplar-, Kopien- oder Bestands-Tabelle oder wie das fachmännisch heißt, in der sich ein Verweis (=Fremdschlüssel) auf die Literaturtabelle befindet sowie die Felder, die wirklich pro physischer Buchkopie individuell sind (defekt, aussortiert etc.).
Optisch stellt man das mit einem Hauptformular dar, in dem sich die Buchdaten wie ISDN, Verlag etc. befinden und einem Unterformular mit den individuellen Daten der Exemplare. Das wäre dann DB-technisch sauber normalisiert.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |