Ich brauch mal euren Sachverstand....
Ich will eine Aktionsabfrage ausführen (update). Er fragt mich aber bei jeder Ausführung nach einer Parameterwerteingabe (FUntsrsuchungID).
Zum Aufbau:
tblUntersuchung
--UntersuchungID als Autowert
--UntersuchungName als Text
--Gueltigkeit als Zahl
tblMitarbeiterUntersuchung
--MitarbeiterUntersuchungID als Autowert
-- FUntersuchungID als Zahl
-- FMitarbeiterID als Zahl
-- GueltigkeitUntersuchung als Zahl
Ausgeführt wird sie nachdem in einem EndlosUnterformular eine Untersuchung über ein Kombinationsfeld (Datenherkunft tblUntersuchung) ausgewählt wird.
Ereignis nach Aktualisierung.
Als Kriterium bei FMitarbeiterID wird das Kombinationsfeld des HF genommen (klappt), bei FUntersuchung das Kombinationsfeld des UF wo die Untersuchung gewählt wird.
Wenn ich die FUntersuchungID per Hand eintrage, bei der Parameterwertseingabe funktioniert es.
Als würde er nicht die ID des Kombinationsfeld akzeptieren.
Habt ihr ne Idee?
Grüße
Hallo,
wenn es um eine Abfrage geht, macht es Sinn deren SQL-Statement hier zu posten.
Da die FUntsrsuchungID angemeckert wird, wäre zu klären, wo die herkommt. Wenn aus besagtem Kombi, steht sie vllt nicht in der ersten Spalten.
Zitat von: Xoar am Februar 25, 2016, 09:34:57
(FUntsrsuchungID)
..häufig sind es einfach auch Rechtschreibfehler im Statement...
Hier mal das SQL Statement aus der SQL Ansicht der Abfrage:
UPDATE tblUntersuchungen INNER JOIN tblMitarbeiterUntersuchungen ON tblUntersuchungen.[UntersuchungID] = tblMitarbeiterUntersuchungen.[FUntersuchungID] SET tblMitarbeiterUntersuchungen.WieLangeGueltig = [Gueltigkeit]
WHERE (((tblMitarbeiterUntersuchungen.FMitarbeiterID)=[Formulare]![frmStammdaten]![DatensatzAuswaehlen]) AND ((tblMitarbeiterUntersuchungen.FUntersuchungID)=[Formulare]![frmUntersuchungen]![FUntersuchungID]));
der join auf die 2. Tabelle ist imo obsolet, es sollte reichen:
UPDATE tblMitarbeiterUntersuchungen
SET tblMitarbeiterUntersuchungen.WieLangeGueltig = [Gueltigkeit]
WHERE tblMitarbeiterUntersuchungen.FMitarbeiterID = [Formulare]![frmStammdaten]![DatensatzAuswaehlen] AND
tblMitarbeiterUntersuchungen.FUntersuchungID = [Formulare]![frmUntersuchungen]![FUntersuchungID];
Welche Werte werden zurückgegeben, wenn du im Direktfenster
? [Formulare]![frmStammdaten]![DatensatzAuswaehlen]
?tblMitarbeiterUntersuchungen.FUntersuchungID = [Formulare]![frmUntersuchungen]![FUntersuchungID]
abfragst?
Hallo,
Parameter aus zwei verschiedenen Formularen, meinst du das wirklich ernst?
Oder könnte eins davon ein Unterformular sein, dann geht es so vielleicht:
Forms!frmStammdaten!frmUntersuchungen.Form!FUntersuchungID
Ja danke euch allen, hat geklappt.
Es lag wirklich daran, dass das Unterformular direkt abgefragt wurde und nicht über das Hauptformular -> Unterformular. So wie MaggieMay es geschrieben hatte.
Auf sowas wäre ich NIE gekommen....