Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Mansa am Februar 20, 2023, 08:12:57

Titel: Passtrough mit Output denkt, es würde keine Rückgabewerte erhalten
Beitrag von: Mansa am Februar 20, 2023, 08:12:57
Hallo Zusammen
Ich konnte bis anhin nichts zu diesem Thema finden und hoffe, es kann mir jemand helfen.
Ich versuche über eine Passtrough Abfragen ein Insert Into auf einen MSSQL Server laufen zu lassen. Darin gebe ich über die Output Funktion den Neuen Primärschlüssel zurück damit dieser Verarbeitet werden kann.

Die Abfrage habe ich so konfiguriert, dass sie Rückgabewerte erwartet. Es zeigt mir jedoch die Meldung an, dass meine Abfrage keine Rückgabewerte erhaltet obwohl ich dies angegeben habe.

Wenn ich die Abfrage auf dem Server direkt laufen lasse funktioniert sie Problemlos und gibt mir auch die erwarteten Werte zurück.
Titel: Re: Passtrough mit Output denkt, es würde keine Rückgabewerte erhalten
Beitrag von: Mansa am Februar 20, 2023, 09:13:23
Ich konnte es selber lösen.
Das Problem liegt an der Rückmeldung vom Server. Sobald das Insert Into ausgeführt wird, wird eine DONE_IN_PROC Meldung an den Client zurückgegeben um die Ausführung zu bestätigen. Dadurch denkt Access, dass die Abfrage durch ist und keine Werte zurückgegeben wurden.
Die Lösung ist am Anfang ein "set nocount on" zu setzen. Damit wird die Rückmeldung unterdrückt und der Code vollständig  ausgeführt bevor etwas zurückgegeben wird. Nun läuft es.

Ich hoffe ich konnte es verständlich erklähren. ;D