querry loopt niet

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.680
Hallo iedereen

Code:
sql = "UPDATE DATA SET DATA.CODE = '" & f![CODE] & "', DATA.GETUIGTHER = '" & f![peut] & "', DATA.OFFEUSTHER = '" & f![beh] & "' " & _
"WHERE DATA.Kodelang= '" & [Forms]![patlijst]![KODELANG] & "' AND DATA.DATUM=# " & [Forms]![patlijst]![datalijst].Column(1) & "#;"
DoCmd.RunSQL sql

levert op:

UPDATE DATA SET DATA.CODE = '560011', DATA.GETUIGTHER = 'A', DATA.OFFEUSTHER = 'A' WHERE DATA.Kodelang= '051218240011' AND DATA.DATUM=# 7/12/2018#;

de code verslikt zich duidelijk op de datum
de update wordt niet uitgevoerd omdat er geen record gevonden wordt terwijl die er wel degelijk is

doe ik een selectie op basis van de kodelang dan vind ik 4 records met wel degelijk die datum terug... maar toch geen update

Hoe pas ik deze querry aan zodat die wél loopt

Bedankt
 
Volgens mij heb ik je dat al een paar keer eerder uitgelegd: datums in een query worden in VBA omgezet naar Amerikaanse datumnotatie. Jouw query zet de records om van 12 juli, en niet van 7 december. Daarnaast gebruik je nog steeds de onhandige syntax waar ik je ook al een paar keer vanaf heb proberen te helpen :).
Probeer deze eens:
PHP:
SQL = "UPDATE DATA SET CODE = """ & f.CODE & """, GETUIGTHER = """ & f.peut & """, OFFEUSTHER = """ & f.beh & """ " _
    & "WHERE Kodelang= """ & Me.KODELANG & """ AND DATUM=CDate(" & CDbl(Me.datalijst.Column(1)) & ")"
 
Michel,
Ik krijg de foutmelding:Typen komen niet met elkaar overeen
Als ik vraag:
?[Forms]![patlijst]![datalijst].Column(1) krijg ik 7/12/18
vraag ik
?CDbl([Forms]![patlijst]![datalijst].Column(1))
krijg ik dezelfde foutmelding
mijn code ziet er als volgt uit:
Code:
sql = "UPDATE DATA SET DATA.CODE = """ & f.CODE & """, DATA.GETUIGTHER = """ & f.peut & """, DATA.OFFEUSTHER = """ & f.beh & """ " _
    & "WHERE DATA.Kodelang= """ & [Forms]![patlijst]![KODELANG] & """ AND DATA.DATUM=CDate(" & CDbl([Forms]![patlijst]![datalijst].Column(1)) & ")"
 
Is het wel een datumveld? Je kunt alleen getallen omzetten naar datums (met CDate) en datums naar een getal.
 
zeker en vast...
DATA.DATUM is een datumveld
Foutmelding blijft

Het is zoals ik zeg:
Als ik vraag:
?[Forms]![patlijst]![datalijst].Column(1) krijg ik 7/12/18
vraag ik
?CDbl([Forms]![patlijst]![datalijst].Column(1))
krijg ik de foutmelding van types komen niet overeen

het probleem met de querry zit wel degelijk in de behandeling van het datumveld, maar hoe los je het op hé....

JP
 
Laatst bewerkt:
Je kan nog eens proberen om de datum eerst uit de keuzelijst te halen middels een datumvariabele, en kijken of hij dan wel werkt.
 
Michel,
Dat is blijkbaar gelukt, maar, zo nu en dan krijg ik volgend venster te zien:
conflict.JPG
wat leer ik daar uit? een andere gebruiker is er zeker niet bezig op deze druilerige zondag..;)
JP
 
Nee, je zit jezelf in de weg. Blijkbaar ben je een record aan het bewerken dat je ergens anders al open hebt staan. Komt voor als je vanuit een formulier met record A een ander formulier opent waar datzelfde record ook op bewerkt wordt.
 
Bestaat er een commando om een en ander af te sluiten zodat de foutmelding niet meer voor komt?
merci
jp
 
Ik weet niet of dat gaat helpen. Je kunt beter voorkomen dat de situatie optreedt, dus ervoor zorgen dat je geen record open hebt staan voordat je zo'n bijwerk query start. Met Me.Dirty=False kom je wel een heel eind.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan