Elite Veteran
Beiträge: 873
Ort: Wien | Blümchen - 03.08.11
1. Frage:
Wenn der Code so aussieht und ich die Anfügeabfrage ausführen möchte, meckert Access und sagt mir: Access kann nicht alle Datensätze anfügen, die von der Anfügeabfrage betroffen sind. Microsoft hat 0 Felder wegen Typumwandlungsfehlern auf Null eingestellt,..... Woran liegt das?
INSERT INTO Produkte_Basis ( ID,
...
SELECT Produkte_Basis.ID,
...
Den entscheidenden Teil der Fehlermeldung hast du weggelassen. Ziemlich sicher "... und 1 Datensätze wegen Gültigkeitsregelverletzungen..."
s. dazu die Abhandlung über "Id" und Primärschlüssel in Punkt 3. meiner vorherigen Antwort.
In der aktuellen Fassung hast du noch einen zweiten eindeutigen Index auf das Feld "BatchNr" hinzugefügt. Die kannst du daher auch nicht einfach kopieren und zweimal in der Tabelle haben. Entweder nimmst du den eindeutigen Index raus (das habe ich im u.a. Beispiel getan) oder du musst (in der Anfügeabfrage) eine andere BatchNr in den kopierten DS schreiben.
2. Frage:
Du hast recht, das funktioniert. Ich hab jetzt aber mal noch einen zweiten Datensatz erstellt und wenn ich dann die Abfrage wieder öffne, zeigt er mir nicht so wie vorne steht ID 147, sondern auch ID 142 an. Mach ich da wieder was falsch?
Schwer zu sagen, da du in der aktuellen Fassung fast alle Felder geändert hast.
Zu 1.) Ich habe in meiner Tabelle ein Feld das heißt nächstesAggregat. Daraus (so dachte ich mir) kann man doch ein Kombinationsfeld machen mit allen
vorhandenen Anlagen im Betrieb.
Naa, wenn man ein Steuerelement zum Suchen braucht, darf man es niemals an ein Tabellenfeld binden. Das führt sonst zu Fehleingaben in die Tabelle.
Zu 2.) Das Kombinationsfeld sollte A4520, A4521, A4522, A4523, A4524, Vorlage 1, Vorlage 2, Vorlage 3, Kühlband 2 und Kühlband 4 zur Auswahl haben.
Ich nehme an, damit meinst du Werte, die in deinem Feld "nächstesAggregat" stehen. In deiner Beispiel-DB gibt's leider nur 1 DS und der hat nix in diesem Feld stehen. Also nicht gerade ideale Beispieldaten... - die ich in meinem Beispiel dann halt mit ein paar Schmähdaten ergänzt habe.
Zu 3.) Der Anwender wählt aus dem Kombinationsfeld die gewünschte Anlage aus und in das entsprechende Unterformular wird kopiert. Dabei ändert sich also
die Anlage(bei mir Aggregat)! Genau. Und da hab ich jedem Unterformular die entsprechende Anlage als Standardwert hinterlegt. Folgende Felder sollen
kopiert werden: Betrieb, MatNr, MatName, MatNrText, BatchNr, AusbeuteMengeSoll und Verwendungsentscheid. In die anderen Felder soll neu eingegeben
werden können.
Ich hänge dir hier mal etwas an, das so tut, als hätte ich deine Beschreibung verstanden.
Darin habe ich ein Beispiel für ein Kombinationsfeld oben auf der Registerseite "Vorlage 3" hinzugefügt. Dort werden alle DS angezeigt, die "Register 3" im Feld "NächstesAggregat" stehen haben. Wenn du einen DS im Kombi wählst, wird der DS kopiert und im UFo angezeigt. Schau dir das Beispiel an und ändere es so ab, wie du es wirklich brauchst.
Anhänge ---------------- Produktionsdatenbank_3.zip (69KB - 4 downloads)
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek - Jetzt anmelden für 19./20.10. in Nürnberg
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |