CursorFieldsDateTimeToDate(cCursor) ************* FUNCTION CursorFieldsDateTimeToDate(cCursor) local ii, nElement, cField cFieldStr = CURSORFIELDSTR(cCursor) nElement = alines(aFieldStr, strtran(cFieldStr, ',', chr(10))) for ii = 1 to nElement cField = alltrim(aFieldStr(ii)) if type("&cCursor..&cField")="T" if ii = 1 cFieldStr = strtran(cFieldStr, cField, "cast("+cField+" as date) "+cField) else cFieldStr = strtran(cFieldStr, ", "+cField, ", cast("+cField+" as date) "+cField) endif endif endfor select &cFieldStr from &cCursor into cursor &cCursor readwrite return ************ FUNCTION CURSORFIELDSTR(cCursor) local cFieldStr if !used(cCursor) and substr(cCursor,1,3)<>"cur" use &cCursor In 0 Alias &cCursor endif cFieldStr = "" nFieldAdet = AFIELDS(arrFields, cCursor) for ii = 1 TO nFieldAdet cFieldStr = cFieldStr+iif(ii=1, '', ' , ')+alltrim(lower(arrFields(ii, 1))) endfor return cFieldStr ENDFUNC