Bom dia caros amigo, novamente venho recorrer a vocês, pois a cuca já está fundindo.
Amigo tenho uma DBF onde existe 6 campos que são eles:
DDD1 | FONE1 | DDD2 | FONE2 | DDD3 | FONE3
so que o campo ddd1,ddd2,ddd3 nunca foram usados pelos digitadores, ou seja, sempre digitaram os ddd's no mesmo campo do fone, mais agora preciso serapar para mandar esses nomes para o call center da empresa, o que eu gostaria era de uma ajudar que lêsse os campos fone1, fone2 e fone3 e onde a rotina achace dados com 10 digitos que os 2 digitos primeiros fossem tranferidos para o campo ddd1,ddd2 e ddd3, e consequentemente apagados do campo fone1,fone2 e fone3,se caso não for encontrado 10 digitos então a rotina não faça nada.
Exemplo:
os campos estão assim:
ddd1.......fone1...........ddd2............fone2.............ddd3.......fone3
..............1436528978....................1498758925..................1478956236
eu gostaria que ficasse assim:
ddd1.........fone1........ddd2.........fone2........ddd3.........fone3
14.............36528978..14............98758925..14.............78956236
Ps. os pontinhos foram apenas para tabular embaixo de cada campo.
não sei se é possível, mais se alguém souber e puder me ajudar, ficarei grato mais uma vez.
O nome da dbf é CADASSO.
Paz a todos.
Ps. estou aprendendo bastante com as dicas que consegui no forum, mais ainda não cheguei ao ponto de fazer uma PRG igual a essa. (grato a todos)
PRECISO DE AJUDA COM PRG
Moderador: Moderadores
-
Dércio_Luiz_Zanatta
- Usuário Nível 3

- Mensagens: 153
- Registrado em: 11 Jan 2006 15:37
- Localização: Ibirubá - RS
Bom dia..
Eu faria assim
Acho que isso dará certo...
Eu faria assim
Código: Selecionar todos
select seudbf
goto top
do while !eof()
If len(alltrim(fone1))=10
Vfone1:=seudbf->fone1
replace ddd1 with substr(alltrim(vfone1),1,2)
replace fone1 with substr(alltrim(vfone1),3,8)
Endif
If len(alltrim(fone2))=10
Vfone2:=seudbf->fone2
replace ddd2 with substr(alltrim(vfone2),1,2)
replace fone2 with substr(alltrim(vfone2),3,8)
Endif
If len(alltrim(fone3))=10
Vfone3:=seudbf->fone3
replace ddd3 with substr(alltrim(vfone3),1,2)
replace fone3 with substr(alltrim(vfone3),3,8)
Endif
skip
enddo
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
Código: Selecionar todos
use cadastro
go top
do while !eof()
mfone1=alltrim(fone1)
mfone2=alltrim(fone2)
mfone3=alltrim(fone3)
if len(mfone1)=10 .and. empty(ddd1)
mddd1=subsr(mfone1,1,2)
mfone1=substr(mfone1,3)
replace ddd1 with mddd1
replace fone1 with mfone1
endif
if len(mfone2)=10 .and. empty(ddd2)
mddd2=subsr(mfone2,1,2)
mfone2=substr(mfone2,3)
replace ddd2 with mddd2
replace fone2 with mfone2
endif
if len(mfone3)=10 .and. empty(ddd3)
mddd3=subsr(mfone3,1,2)
mfone3=substr(mfone3,3)
replace ddd3 with mddd3
replace fone3 with mfone3
endif
skip
enddo
Näo testei, mas se näo funcionar só Cristo salva!!! rsrsrsrs
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
