Gravar apenas números do CPF na planilha e limpar combobox

Caros, Boa tarde,

Segue abaixo planilha para disponibilização aos demais usuários. Não se faz necessário créditos ao meu usuário, pois nenhum código aqui eu desenvolvi, apenas maturei vários que colhi na plataforma. Agradeço aos colaboradores @felipeale, @schiavinatto, @elmau, @grafeno, @conras e vários outros aos quais, com seus códigos e suas soluções em vários posts, pude montar esta planilha de cadastro.

Apenas gostaria de fazer uma pequena ressalva. Apesar de plenamente funcional, 2 coisas ainda persistem que eu não consigo resolver (não são questões graves, mas ajustes que são pertinentes de se fazer). Vamos lá:

Tanto no cadastro (dlgCadastro), quanto na pesquisa (dlgPesquisa), o campo CPF é visualizado no formato amigável, para melhor interpretação dos números. Ocorre que é sempre mais rápido digitar estas informações no diálogo SEM os pontos e traços do formato visual amigável, certo? Portanto, TANTO no cadastro como na pesquisa, o ideal seria que a macro gravasse NA PLANILHA o CPF do cliente SEM os pontos e traços, apenas os números, não importando como estes dados são mostrados no diálogo aberto.

Ainda na tela de cadastro (dlgCadastro), no campo PAÍS (lstIDEnt) ao escolher o país, surge a mensagem “Cidades Atualizadas”, e em seguida vc pode escolher no campo CAPITAL (cbbEntid) o dado desejado. Ocorre que, ao voltar e escolher um novo país, novamente surge a mensagem “Cidades Atualizadas” (até aqui OK), mas a ação não limpa a escolha anterior, apesar de atualizar a lista de dados. Em resumo, sempre que se atualiza o país, fica a “sujeira” do dado anterior. Fiz um comentário na linha cbbEntid.Model.removeAllItems() na sub SelectRegion

No mais, obrigado desde já pelas interações e pela valorosa ajuda de todos.

Att,

00.Cadastro de Clientes v1.4.1.0 - (Para o AskLibreOffice).ods (310.5 KB)

  • dlgCadastro
  1. Ajuste com Função Replace do Basic, usada para apagar os pontos e hífen.
  2. Alteração da linha .getCellbyPosition( 1, nLinha ).String = oDlg.GetControl("fmtCPF").text para .getCellbyPosition( 1, nLinha ).Value = s
  • dlgPesquisa
  1. Ajuste com Função Format do Basic, usada para definir formato amigável. (talvez seja desnecessária)
  2. Linha alterada para fmtCPF.Text = Format(vDataArray(index)(COL_CPF), "000\.000\.000\-00" )
  • dlgCadastro
  1. Apagar texto do controle: inclusão da linha cbbEntid.Model.text = ""
  2. Evitar mensagem constante de atualização: comentário na linha REM MsgBox "Cidades atualizadas!"
    .

Segue planilha com as alterações:
00.Cadastro de Clientes v1.4.1.2 - (Para o AskLibreOffice).ods (310,3,KB)

---------- EDIT ----------

Corrigido acima.

1 Like

@FelipeAle, Bom dia,

Apenas como comentário, para conhecimento. Suas alterações no diálogo dlgCadastro funcionaram perfeitamente.

No diálogo dlgPesquisa a edição do registro ainda está salvando o CPF com pontos e traços.

No mais, sou sempre grato pela interação de todos.

Excelente semana, e que Deus os abençoe.

att,

@FelipeAle Boa tarde,

Perfeito. Muito obrigado por suas orientações. A planilha final v1.4.1.2 pode ficar disponível onde vcs acharem melhor, para todos os usuários, seja para uso ou seja para novas inserções no código.

Deus abençoe a todos!!!

Att,