Manipular dados DBF
Moderador: Moderadores
Manipular dados DBF
boa tarde a todos,
nao possuo conhecimento de programação em clipper somente me informatica, mas no meu trabalho exige que tenha conhecimento no banco de dados DBF; por causa de progrmas antigos ainda em DOS.
Entao hoje aconteceu o seguinte; no programa os dados de telefone estao assim:
011-1111-1111 outros assim (11)00000000
eu nescessito que fique padronizado no formato:
(00)0000-0000
Tempo atras eu consegui fazer isso com o CPf de clientes que estavam com o mesmo problema usando o DBU mas por infelicidade perdi o .doc onde tinha salvo os passos.
Se alguem puder me ajudar ficaria muito grato.
Utilizo tambem CBDF caso seja possivel nele tambem.
Abraço e muito obrigado pela atenção de todos.
Humberto oliveira.
nao possuo conhecimento de programação em clipper somente me informatica, mas no meu trabalho exige que tenha conhecimento no banco de dados DBF; por causa de progrmas antigos ainda em DOS.
Entao hoje aconteceu o seguinte; no programa os dados de telefone estao assim:
011-1111-1111 outros assim (11)00000000
eu nescessito que fique padronizado no formato:
(00)0000-0000
Tempo atras eu consegui fazer isso com o CPf de clientes que estavam com o mesmo problema usando o DBU mas por infelicidade perdi o .doc onde tinha salvo os passos.
Se alguem puder me ajudar ficaria muito grato.
Utilizo tambem CBDF caso seja possivel nele tambem.
Abraço e muito obrigado pela atenção de todos.
Humberto oliveira.
Re: Manipular dados DBF
Faça uma cópia do arquivo atual, por segurança.
Entre no DBU.
Selecione o arquivo em questão.
Aperte o ESC para fechar o browse.
Aperte a tecla F6.
Selecione a opção REPLACE.
Selecione o campo que vc quer trabalhar.
Ele vai aparecer em FIELD.
Em WITH escreve: strtran(<nome do campo>, '-')
Vá até a opção OK e aperte o ENTER.
(Isso irá tirar o sinal de menos do campo)
Use o mesmo para tirar ( e ) do campo.
Para colocar todos formatados, use:
Aperte a tecla F6.
Selecione a opção REPLACE.
Selecione o campo que vc quer trabalhar.
Ele vai aparecer em FIELD.
Em WITH escreve: transforme(<nome do campo>, '@R (99) 9999-9999')
Vá até a opção OK e aperte o ENTER.
Verifique se atendeu a sua necessidade.
Lembrando que vc poderá ter problema com o DDD de alguns lançamentos.
Boa sorte. Espero ter ajudado.
Entre no DBU.
Selecione o arquivo em questão.
Aperte o ESC para fechar o browse.
Aperte a tecla F6.
Selecione a opção REPLACE.
Selecione o campo que vc quer trabalhar.
Ele vai aparecer em FIELD.
Em WITH escreve: strtran(<nome do campo>, '-')
Vá até a opção OK e aperte o ENTER.
(Isso irá tirar o sinal de menos do campo)
Use o mesmo para tirar ( e ) do campo.
Para colocar todos formatados, use:
Aperte a tecla F6.
Selecione a opção REPLACE.
Selecione o campo que vc quer trabalhar.
Ele vai aparecer em FIELD.
Em WITH escreve: transforme(<nome do campo>, '@R (99) 9999-9999')
Vá até a opção OK e aperte o ENTER.
Verifique se atendeu a sua necessidade.
Lembrando que vc poderá ter problema com o DDD de alguns lançamentos.
Boa sorte. Espero ter ajudado.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
Re: Manipular dados DBF
boa tarde GVC,
funcionou sim ate a parte:
"Em WITH escreve: transforme(<nome do campo>, '@R (99) 9999-9999')
Vá até a opção OK e aperte o ENTER."
deu erro de expressao.
os outros comandos foram 100%, so esse transforme que nao deu certo.
mas eu me lembro de ter que copiar campos de 3 a 3 no formato cpf.
mas era mais simples tinha colocado o cpf no campo isento dai ficou mais facil, esse caso agora esta mais complicado mesmo.
Abraço e muito obrigado pela informação dada e se puder me auxiliar na parte restante agradeço.
Humberto
funcionou sim ate a parte:
"Em WITH escreve: transforme(<nome do campo>, '@R (99) 9999-9999')
Vá até a opção OK e aperte o ENTER."
deu erro de expressao.
os outros comandos foram 100%, so esse transforme que nao deu certo.
mas eu me lembro de ter que copiar campos de 3 a 3 no formato cpf.
mas era mais simples tinha colocado o cpf no campo isento dai ficou mais facil, esse caso agora esta mais complicado mesmo.
Abraço e muito obrigado pela informação dada e se puder me auxiliar na parte restante agradeço.
Humberto
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Manipular dados DBF
Olá!
Não funcionou pois o colega GVC, sem querer, digitou Transforme ao invés de Transform.
Segundo o exemplo dado pelo Humberto, os dados não estão num padrão. Ora temos "011-1234-5678", ora temos "11-1234-5678".
Assim, após oteremos dados de comprimentos diferentes. Então, sugiro que o Transform seja assim: ,
Não funcionou pois o colega GVC, sem querer, digitou Transforme ao invés de Transform.
Segundo o exemplo dado pelo Humberto, os dados não estão num padrão. Ora temos "011-1234-5678", ora temos "11-1234-5678".
Assim, após o
Código: Selecionar todos
StrTran( cVar, "-", "" )Código: Selecionar todos
Transform( VAL( cVar ), "@R (99) 9999-9999" )[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Manipular dados DBF
Olá!
Em tempo: seja bem-vindo ao fórum Humberto!
Você pediu a máscara (31)1234-5678. Então, retifico o comando:
Em tempo: seja bem-vindo ao fórum Humberto!
Você pediu a máscara (31)1234-5678. Então, retifico o comando:
Código: Selecionar todos
Transform( VAL( cVar ), "@R (99)9999-9999" )[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Re: Manipular dados DBF
bom dia a todos,
primeiramente muito obrigado a todos.
esta indo tudo bem com o:
strtran(<nome do campo>, '-') e tambem da mesma forma com o StrTran( cVar, "-", "" ), retirei todos os "-", ".", "(", ")", e espaços no campo fone.
Mas o comando: Transform( VAL( cVar ), "@R (99) 9999-9999" ) nao esta funcionando dando o seguinte erro:

desde ja muito obrigado novamente.
Humberto oliveira
primeiramente muito obrigado a todos.
esta indo tudo bem com o:
strtran(<nome do campo>, '-') e tambem da mesma forma com o StrTran( cVar, "-", "" ), retirei todos os "-", ".", "(", ")", e espaços no campo fone.
Mas o comando: Transform( VAL( cVar ), "@R (99) 9999-9999" ) nao esta funcionando dando o seguinte erro:

desde ja muito obrigado novamente.
Humberto oliveira
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Manipular dados DBF
Olá!
Humberto:
aparentemente você apenas colou o exemplo de código que postei. Troque a variável exemplo que coloquei (cVar) pelo nome do campo que você precisa alterar (creio que seja o campo FONE).
Humberto:
aparentemente você apenas colou o exemplo de código que postei. Troque a variável exemplo que coloquei (cVar) pelo nome do campo que você precisa alterar (creio que seja o campo FONE).
Código: Selecionar todos
Transform( VAL( FONE ), "@R (99)9999-9999" )[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Re: Manipular dados DBF
Ops! Faglia Nostra!alxsts escreveu:Não funcionou pois o colega GVC, sem querer, digitou Transforme ao invés de Transform.
[alxsts]
StrTran( cVar, "-", "" ) = StrTran( cVar, "-")
Se vc não colocar o 3º parâmetro, será removido o ceracter selecionado no 2º parâmetro.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
Re: Manipular dados DBF
Boa tarde a todos,
o meu muito obrigado a todos pela atenção, funcionou 100% aqui.
Me desculpe pelo erro de interpretação nos codigos enviados com relação ao (cVar), é que realmente nao sabia do que se tratava.
Novamente muito obrigado pela ajuda.
Humberto oliveira.
Ps.: caso o moderador quiser retirar esse topico fique a vontade porque solucionou totalmente minha duvida.
o meu muito obrigado a todos pela atenção, funcionou 100% aqui.
Me desculpe pelo erro de interpretação nos codigos enviados com relação ao (cVar), é que realmente nao sabia do que se tratava.
Novamente muito obrigado pela ajuda.
Humberto oliveira.
Ps.: caso o moderador quiser retirar esse topico fique a vontade porque solucionou totalmente minha duvida.
Re: Manipular dados DBF
[betovox]
O moderador não vai retirar seu tópico do forum.
É uma informação que ficará disponível para outros membros do forum, para consulta futura.
O moderador não vai retirar seu tópico do forum.
É uma informação que ficará disponível para outros membros do forum, para consulta futura.
Se vc esta falando de colocar ou não o 3º parâmetro, eu falei que não é necessário colocar. A função vai remover o caracter da mesma forma que usando o que vc apresentou.alxsts escreveu:Funciona sim, tenho certeza.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Manipular dados DBF
Olá!
GVC:
eu quis dizer que você está certo, que concordo com o que você escreveu. O terceiro parâmetro realmente é opcional e, se omitido, não há substituição e sim remoção do caracter informado no segundo parâmetro.
Humberto:
reforçando o que o GVC escreveu, o fórum é um grande repositório de informações, sobre diversos assuntos, que pode ser acessado internamente, através de seu recurso de busca ou por um buscador como o Google.
GVC:
eu quis dizer que você está certo, que concordo com o que você escreveu. O terceiro parâmetro realmente é opcional e, se omitido, não há substituição e sim remoção do caracter informado no segundo parâmetro.
Humberto:
reforçando o que o GVC escreveu, o fórum é um grande repositório de informações, sobre diversos assuntos, que pode ser acessado internamente, através de seu recurso de busca ou por um buscador como o Google.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
