Elite Veteran
Beiträge: 876
Ort: Wien | Blümchen - 05.08.11
Super! Vielen Dank! Ich komme dem Ziel näher!!!
Ich möchte dich trotzdem nochmal darauf hinweisen, dass du wahrscheinlich einen Fehler im Datenbankdesign hast. In deiner Produkttabelle gibt es unveränderliche Felder und veränderliche, also Bestandsdaten und Bewegungsdaten. Das ist in den meisten Fällen ein Zeichen dafür, dass die Tabelle in mind. zwei Tabellen aufgeteilt werden muss. Eine Tabelle mit den unveränderlichen Bestandsdaten, die pro Produkt oder Charge (je nachdem, was da behandelt wird) nur 1 Datensatz enthält, und eine Tabelle, in der es pro Produkt mehrere Datensätze mit den Bewegungsdaten gibt. Die beiden Tabellen werden dann mit einer 1:n-Beziehung verknüpft.
Eine Ausnahme von diesen Designprinzipien müsstest du gut begründen können. Man kann sich mit VBA usw. darüber hinwegtricksen, wie wir das gerade hier tun, aber mit einer guten Tabellenstruktur würdest du dir einige Folgeprobleme ersparen, Codes und Abfragen reduzieren sowie die Gefahr von sog. Änderungsanomalien bannen, denn eine Änderung an den Daten muss dann immer nur an 1 Stelle vorgenommen werden, nicht an mehreren.
Nun weiter mit den Tricksereien:
1.) Wenn ich jetzt beispielsweise in A4520 gehe und einen Datensatz eingebe und beim nächsten Aggregat Vorlage 3 nehme, springe ich anschließend auf den Reiter Vorlage 3. Ich finde den Datensatz jedoch nicht in der Kombibox. Erst wenn ich das Formular schließe und anschließend wieder öffne, zeigt er mir den Datensatz in der Box an. Welchen Code müsste man anfügen, damit er das direkt aktualisiert?
Im Ereigniscode "Beim Hingehen" des Kombis:
Me!DeinKombi.Requery
2.) Habe jetzt noch mehrere Reiter hinzugefügt, genauso Anfüge- und Aktualisierungsabfragen. Wenn ich jetzt jedoch besipielsweise in A4520 einen Datensatz eingebe, dann in den Reiter Vorlage 1 gehe, wähle ich den zu kopierenden Datensatz aus. Nachdem ich das getan habe, fügt er es zwar in der Haupttabelle Produkte_Basis an, jedoch nicht in dem Unterformular. Warum ist das so?
Wird der DS permanent nicht angezeigt oder ist es wieder ein Aktualisierungsproblem wie oben? Ich habe dir ja im Beispiel einen Code zum Aktualisieren des UFos geschrieben. Wenn es hingegen permanent ist, dann musst du einfach schauen, dass in deinem neuen DS alle Bedingungen für die Anzeige im UFo erfüllt sind. Mehr gibt's da nicht zu tun.
3.) Wenn ich auf den Reiter A4521 gehe und etwas eingeben will, bekomme ich eine Fehlermeldung: Sie können diesem Objekt keinen Wert zuweisen. Wenn ich dann jedoch auf OK klicke dann kann ich Daten eingeben. Nachdem ich dann etwas eingegeben habe, das Formular schließe und wieder öffne, ist der Datensatz auf einmal weg. Ich könnte mir vorstellen, dass das mit der Dateneingabe etwas damit zu tun hat, dass man in der Anfügeabfrage LtTabelleEingabeErforderlich: Jetzt() und dann anfügen an SollStart angegeben hat.
Schwer zu sagen, ohne den Fehler im Ablauf live zu sehen. Das Jetzt() habe ich nur notdürftig in die Abfrage eingebaut, weil du in der Tabelle das Feld auf "Eingabe erforderlich" gestellt hast und ich nicht weiß, was dort wirklich hineingehört. Das kannst nur du wissen.
----- 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... |