| Karl Donaubauer - 30.07.11 19:09
Du solltest das sehen, was der Ausdruck anfordert, nämlich die ID des aktuellen Datensatzes im Unterformular. Immerhin scheinst du keine Parameternachfrage zu erhalten oder Fehleranzeige im Feld zu sehen, d.h. der Formularbezug dürfte nun korrekt sein. Darum geht's in diesem Test, denn damit hattest du bisher ein Problem.
Wenn das Abfragefeld keinen Wert anzeigt, dann gibt es wohl keine aktuelle ID, also vielleicht gar keine Datensätze im Unterformular. Das kannst nur du wissen.
Öffne das Formular und Unterformular mal so, dass es einen Datensatz anzeigt, den du kopieren willst. Dann öffne nochmal die Abfrage und kontrolliere, ob die erwartete ID angezeigt wird.
Wenn dem so ist, dann kannst du den Formularbezug, wie gezeigt, mit Eval() drumherum als Kriterium der Anfügeabfrage verwenden. Diese Abfrage wird dann nur den Datensatz anfügen, der die aktuelle ID des Unterformulares hat. Falls ich deine ursprüngliche Frage richtig verstanden habe, ist es das, was du willst bzw. brauchst.
Problem ist, dass da nichts steht, obwohl ich jetzt schon mehrere Datensätze in meinem Unterformular frm_A4520 habe. Die ID steht auch in dem Feld in meinem Unterformular und in der erstellten Abfrage auch. Nur in diesem Extrafeld das erstellt wurde, steht nichts. Wenn ich in die SQL-Ansicht gehe, dann sieht das so aus:
SELECT Produkte_Basis.ID, Produkte_Basis.Betrieb, Forms!frm_Produktionsdatenbank!frm_A4520.Form!ID AS Ausdr1
FROM Produkte_Basis;
Das AS Ausdr1 ist ja nur die Überschrift oder?
Diese Abfrage wird dann nur den Datensatz anfügen, der die aktuelle ID des Unterformulares hat.
Aber doch per Auswahlklick dann oder? Alsooo, wenn ich dann irgendwann mal diesen Code richtig habe, fänd ich es spitze, dass es ein Kombinationsfeld gibt in dem man dann die Anlage auswählt. Dann spielt sich der Code ab und er kopiert den Datensatz in die Tabelle und somit in die gewünschte Abfrage.
Tut mir Leid, dass das so ein Chaos ist. Diese Aufgabe übersteigt eindeutig mein Wissen....
|