Hi,
Bij het updaten van een specifieke tabel in een Access database via een constructie fdconnection=> fdquery => datasetprovider => clientdataset=> ApplyUpdates gaat er iets mis: Het veranderen van velden in een bestaand record gaat prima maar het toevoegen van een nieuw record geeft een foutmelding.
Het blijkt uiteindelijk te liggen aan het gebruik van oa. de veldnaam "container". Zolang de updates in de query niet betrekking hebben op het veld container (in dit geval) is gaat het updaten goed.
In Access is container een "reserved term" die moet worden omgeven met vierkante haken of quotes. Die zijn in een losse query (fdCommand oid) makkelijk toe te voegen maar in de automatisch gegenereerde query via ApplyUpdates werkt dit niet
Weet iemand of er een manier is om dit te tackelen? Is er iets van een instelling voor een lijstje "deze velden escapen" , of "alle veldnamen omgeven met quotes" oid?
of is bv. de gegenereerde sql-tekst af te vangen en te aan te passen voordat die wordt uitgevoerd?
Het makkelijkste is natuurlijk dit soort veldnamen gewoon te vermijden maar het gaat om losse externe databases waarin de namen niet zomaar kunnen worden aangepast.
groet, Willem
[edit] .. Ik dacht dat dit een Firedac dingetje was ( ben ik een beetje nieuw in) maar het ligt aan clientdataset. Ook in dbGo (ADO) gaat het om dezelfde reden mis.
desalniettemin zou een oplossing wel leuk zijn.
Bookmarks