Update Query met variabele uit VBA.

Status
Niet open voor verdere reacties.

fmeca

Gebruiker
Lid geworden
7 sep 2009
Berichten
95
Hallo,

In mijn update Query in VBA gebruikt in variabele die niet in een tabel staat maar een uitkomst is uit een berekening die ik in VBA uitvoer.
Het resultaat van deze berekening staat in 'KMVerschilEind'.
Onderstaand de het VBA Query statement.

Code:
DoCmd.RunSQL "UPDATE tblRittenLijst  " & vbCrLf & _
          "SET KMstandBegin = KMstandBegin + KmVerschilEind , KMstandEind =  KMstandEind + KmVerschilEind" & vbCrLf & _
          "WHERE VoertuigID = [Forms]![frmStart].[Form].[KeuzelijstVoertuigRitOverzicht] and Rit_ID >[Forms]![frmRittenlijst].[Form].[Rit_ID]"

Ik krijg bij uitvoer de foutmelding: "Parameterwaarde opgeven ? voor 'KMVerschilEind'.
Dit is verklaarbaar omdat de variabele niet in een tabel staat.
De Query werkt wel als ik voor 'KMVerschilEind' een getal invul.

Hoe kan ik de query werkend krijgen met de variabele 'KMVerschilEind'?

PS Ik gebruik nu Access 2013. (Volgens mij werkte de query wel in Access 2003)

THX
 
Hrt zou mij verbazen als deze query in 2003 wel zou werken, want er zit een structurele fout in. Die moet er toch echt uit :)

Code:
DoCmd.RunSQL "UPDATE tblRittenLijst  " & vbCrLf & _
          "SET KMstandBegin = KMstandBegin + " & KmVerschilEind & ", KMstandEind =  KMstandEind + " & KmVerschilEind & vbCrLf & _
          "WHERE VoertuigID = [Forms]![frmStart].[Form].[KeuzelijstVoertuigRitOverzicht] and Rit_ID >[Forms]![frmRittenlijst].[Form].[Rit_ID]"

Tip: zet de gegenereerde string in een InputBox, en test 'm uit in een nieuwe query. Zie je gelijk waar de fout zit.
 
Laatst bewerkt:
THX Michel.

Je hebt helemaal gelijk.
Ik had dit ook al geprobeerd echter een typefoutje in de variabele gemaakt. (volgens mijn oude versie).

Toppie:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan