I och med att det ena inte fungerar så är väl det bra skäl nog. Det finns inget alternativ till din kodning om inte du kan göra något i sql-satsen.
T.ex
sql = "select a,b,c,iif(pmfield is null,'Odefinierat',pmfield) as pmfield from t
Anldningen till att det fungerar som det gör är att ADO inte vill skapa en buffer för att hålla värdet. Hanteringen är ju tänkt för att även passa för stora objekt (upp till 2Gb) då man vill undvika alla mellanlagringar.
Problemet är ju att man i Access ganska ofta måste använda PM då maxlängden annars är 255. (De flesta andra DBMS har en högre maxlängd så problemet uppträder inte lika ofta.)
------------------ essentitia preter non sans multiplicandum
självklart använder jag IIF() :) underbar funktion, men jag var mest nyfiken eftersom jag först inte förstod när problemet uppstod, men kom senare på att det var vissa funktioner som inte ville fungera med PM-fält :)