Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Mal wieder Parameterwerteingabe...

Begonnen von Xoar, Februar 25, 2016, 09:34:57

⏪ vorheriges - nächstes ⏩

Xoar

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



el_gomero

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.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

datekk

Zitat von: Xoar am Februar 25, 2016, 09:34:57
(FUntsrsuchungID)

..häufig sind es einfach auch Rechtschreibfehler im Statement...
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

Xoar

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]));

el_gomero

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?
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

MaggieMay

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
Freundliche Grüße
MaggieMay

Xoar

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....