a diferença é no encoding. Usa a não MS DOS.
essa macro faz praticamente tudo o que precisas. Essa está à espera de um CSV com três colunas (waypoint, county e num) e coloca essa info nas respectivas caches, nos campos User3 e User4.
Para o teu caso, bastará um CSV com uma coluna apenas (waypoint).
Deverá ficar parecido com isto (não testado):
- Código:
# Cancel any existing filter to ensure that you are reading all entries in the database
CANCELFILTER
GOTO Position=Top
USERFLAG type=clear range=all
# Step through the database and write the code to a delimitered variable.
$CodeList=""
WHILE NOT($_EOL)
$Codelist=$CodeList+"$d_Code;"
GOTO Position=Next
ENDWHILE
# Put the fully qualified Csv file name in the following variable
$CsvFile="Csv file name"
# This routine assumes you are using User3 and User4
FILEREAD Name=$CsvFile
IF $line <> ""
$lCode=Extract($line,",",1)
IF RegEx($lCode,$CodeList)
MFILTER Expression=$d_Code=$lCode
IF $_FilterCount=1
$d_UserFlag=TRUE
ENDIF
ENDIF
ENDIF
ENDREAD
USERFLAG Type=Set Range=All
Esta Macro irá limpar o campo UserFlag da actual BD, colocar a true as caches que estejam no CSV, e no final filtra apenas essas caches... Testa e diz como correu. Não te esqueças de mudar o nome do ficheiro CSV na macro. Neste teu caso, como só precisas de uma coluna, o ficheiro CSV nem sequer tem vírgulas...