Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Xoar am Februar 25, 2016, 09:34:57

Titel: Mal wieder Parameterwerteingabe...
Beitrag von: Xoar am Februar 25, 2016, 09:34:57
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


Titel: Re: Mal wieder Parameterwerteingabe...
Beitrag von: el_gomero am Februar 25, 2016, 11:25:27
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.
Titel: Re: Mal wieder Parameterwerteingabe...
Beitrag von: datekk am Februar 25, 2016, 11:44:29
Zitat von: Xoar am Februar 25, 2016, 09:34:57
(FUntsrsuchungID)

..häufig sind es einfach auch Rechtschreibfehler im Statement...
Titel: Re: Mal wieder Parameterwerteingabe...
Beitrag von: Xoar am Februar 25, 2016, 12:45:34
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]));
Titel: Re: Mal wieder Parameterwerteingabe...
Beitrag von: el_gomero am Februar 25, 2016, 13:11:40
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?
Titel: Re: Mal wieder Parameterwerteingabe...
Beitrag von: MaggieMay am Februar 25, 2016, 13:52:40
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
Titel: Re: Mal wieder Parameterwerteingabe...
Beitrag von: Xoar am Februar 25, 2016, 14:11:27
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....