|
Postada em 23/02/2005 17:19 hs
Tenho o seguinte problema, tenho um Bd com o campo CPF, no mesmo os dados estão gravados com mascara, existe um meio de remover essas mascaras pelo vb ? Ex.: 388.566.987-56 = 38856698756 Obrigado
|
|
|
|
Jayme
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 23/02/2005 17:28 hs
Isto resolve: Private Sub TiraMascara() Dim x As String RS_CADCLI.MoveMin Do While Not RS_CADCLI.EOF '12345678901234 '388.566.987-56 x = Mid(RS_CADCLI!CPF_Clie, 1, 3) & _ Mid(RS_CADCLI!CPF_Clie, 5, 3) & _ Mid(RS_CADCLI!CPF_Clie, 9, 3) & _ Mid(RS_CADCLI!CPF_Clie, 1, 3) & _ Mid(RS_CADCLI!CPF_Clie, 13, 2) RS_CADCLI!CPF_Clie = x RS_CADCLI.Update RS_CADCLI.MoveNext Loop End Sub
Jayme
|
|
|
|
Postada em 23/02/2005 18:30 hs
se vc quiser bloquear o text tbm faca assim, no evento keypress to text digite if keyascii = 45 or keyascii = 46 then keyascii = 0 isso ira anular a digitacao dos caracteres (. e -) Ah! nao se esqueca de habilitar a propriedade keyprview do seu form
|
|
|
|
Postada em 23/02/2005 21:02 hs
vc pode fazer do jeito que o nosso colega Jayme falou, mas eu mudaria um pouco essa função. Dim x As String RS_CADCLI.MoveMin Do While Not RS_CADCLI.EOF RS_CADCLI!CPF_Clie = TiraPontos(RS_CADCLI!CPF_Clie) RS_CADCLI.Update RS_CADCLI.MoveNext Loop
Private Function TiraPontos(mString as String) as String Dim i as Integer Dim mResultado as String If len(mString) = 0 then Exit Function For i = 1 to len(mString) If IsNumeric(Mid(mString,i,1)) then mResultado = mResultado & Mid(mString,i,1) End If Next TiraPonto = mResultado End Function Prefiro fazer a função assim, pq da maneira que o nosso colega passou, se tiver algum campo já sem mascara, ele vai alterar os dados. Roberto
|
TÓPICO EDITADO
|
|
|
|
|
Postada em 23/02/2005 21:32 hs
Voce tambem pode fazer assim
strCPFF = Trim(Replace(rscmdAux!TBCLI_CPF, ".", "")) strCPF = Replace(strCPF, "-", "") & " "
Nesse exemplo voce substitui o "." e o "-" por nulo, logo serao deixados apenas os numeros, a vantagem e que voce pode utilizar para remover "/" do CNPJ por exemplo ou brancos, bastando para isso, substituir esses valores dentro das aspas.
Se voce tiver que fazer isso em outras situacoes, eu acho que o ideal, seria colocar essa rotina que tem apenas 2 linhas, numa funcao, pois dessa forma se for o caso voce poderia tirar tambem outros caracteres indesejados de uma sequencia de stringas.A vantagem e que voce pode mandar tirar todos os caracteres nao desejados e se eles fizerem parte da String serao retirados e se nao fizerem tudo ficara como esta.
Boa sorte
|
|
|
|
Postada em 24/02/2005 01:07 hs
Pessoal deu certinho, agora só preciso de mais uma ajuda se for possível, tenho uma váriavel com mais de 40 caracteres, como faço para que ela fique apenas com 40 ? Obrigado
|
|
|
|