Paulo, muitíissimo obrigado. As suas sugestões funcionaram perfeitamente.
O programa está fazendo exatamente o que eu precisava.
Agora o meu único problema, é o tamanho da minha base de dados. Ela tem perto de 2 milhões de registros, e
quando tento executar aparece um erro de falta de memória.
O Benilton pediu para eu colocar um exemplo reproduzivel, inclusive com a leitura de dados.
Criei um arquivo com parte da minha base de dados. O link é