Verificar cadastro

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Verificar cadastro

Mensagem por Josmar dos Santos »

Ola colegas, gostaria de fazer uma rotina..de preferencia uma função para verificar a existencia de um CPF ja cadastrado ...
Alguem poderia me passar isso...sem mais grato


Josmar
Avatar do usuário
matrix
Usuário Nível 3
Usuário Nível 3
Mensagens: 131
Registrado em: 06 Jul 2004 08:41
Localização: Paraná
Contato:

Mensagem por matrix »

meu amigo, desculpa o toque, mas primeiro faça uma busca por topicos no forum que vc encontra comentários, veja:

https://pctoledo.org/forum/viewto ... aa87f94060

https://pctoledo.org/forum/viewto ... aa87f94060

https://pctoledo.org/forum/viewto ... aa87f94060

Valeu, qquer coisa estamos a disposição, t+
"Ter Problemas é Inevitável, ser derrotado por eles é opcional.!!"
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Ola

Mensagem por Josmar dos Santos »

Ola matrix, de fato foi falha minha, estava na correria e nem pensei nisso...mas de qualquer forma eu agradeço pelo toque..valew
um abraço
Josmar
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Existência

Mensagem por Josmar dos Santos »

Ola Matrix..tudo bom ?
Eu andei olhando esses topicos q vc me passou, mas nao e bem o que eu estou querendo ! nele eu notei que sao funcoes de verificacao da existencia do cpf . O q eu estou querendo na verdade e uma verificacao de duplicidade do campo cpf, ou seja, quando o usuario for cadastrar um cliente por exemplo...ele digitar o cpf do mesmo a funcao ira verificar se ja esta cadastrado no arquivo...caso esteja..ele enviara uma mensagem...grato
josmar
Cleiton Fidelis
Usuário Nível 2
Usuário Nível 2
Mensagens: 81
Registrado em: 06 Jul 2004 09:44
Localização: Divinopolis MG

Mensagem por Cleiton Fidelis »

Ai, baoooo tamem!!!

Vê se é isso !!!
1º - Seu id do cadastro é CPF ou Codigo ?
Se nao for o cpf, sera bom ter o indice ligado ao cpf...

cCPF = space(11)
....
@ 10,05 say "C.P.F....:" GET cCPF PICT '@!' VALID Fcpf(cCPF)
....


FUNCTION cCPF()
DBSETORDER(ORDEM DO INDICE DE CPF)
SEEK cCPF
IF FOUND()
ALERT("C.P.F ja Cadastrado para "+CAMPONOMEDOCLIENTE)
ENDIF
DBSETORDER(VOLTA A ORDEM DO INDICE ANTERIORMENTE)
RETUR .T.

Entao sera isso ?
Cleiton Fidelis
Divinopolis - MG
cleitonfidelis@hotmail.com
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Só para complicar:

function fcpf(q_cpf) // Chama a função recebendo o parâmetro
local ord1 := indexord()

if len(alltrim(q_cpf)) < 11 // Não tem o tamanho válido (11 caracteres)
return(.F.)
end
dbsetorder(ORDEM DO INDICE DE CPF)
if dbseek(q_cpf)
alert("C.P.F ja Cadastrado para " + CAMPONOMEDOCLIENTE)
dbsetorder(ord1)
return(.F.)
end
dbsetorder(ord1)
return(.T.)
Editado pela última vez por gvc em 05 Jul 2006 12:48, em um total de 2 vezes.
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

testar

Mensagem por Josmar dos Santos »

Ok galera..vou testar a rotina q vc me passaram, qualquer coisa eu dou um toque...um abraço
Josmar
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Verificar cadastro

Mensagem por Josmar dos Santos »

Ola pessoal...eu segui o exemplo de voces...so q eu reduzi um pouco os comandos e de fato deu certo...se alguem se interessar eis a funcao ai !

function ver_cpf()
set order to 5
seek cpf
if !eof()
tone(286)
alert("c.p.f ja cadastrado para " +cliente)
return .f.
endif
return .t.

Funcionou legal...so tem mais uma duvida....quando quero passar em branco pelo campo cpf..nao estou mais conseguindo...a funcao alert pega o primeiro registro e coloca na tela...tem como passar pelo registro em branco sem acionar o alert ...
grato
Josmar
Avatar do usuário
Zoc
Usuário Nível 1
Usuário Nível 1
Mensagens: 20
Registrado em: 24 Set 2004 13:08
Localização: Leme/SP

Mensagem por Zoc »

function ver_cpf()
if empty( cpf )
return .t.
endif
set order to 5
seek cpf
if !eof()
tone(286)
alert("c.p.f ja cadastrado para " +cliente)
return .f.
endif
return .t.
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Verificar cadastro

Mensagem por Josmar dos Santos »

Outro problema q surgiu...e quando por algum motivo vou fazer uma consulta na manutencao de clientes. Ele tambem nao deixa eu passar pelo cpf....fica acusando q o registro ja esta cadastrado pelo registro atual. De fato ele esta mesmo... porem eu preciso as vezes passar pelo registro preenchido na manutencao.
O problema e que ele encherga o cpf como registro cadastrado !
Editado pela última vez por Josmar dos Santos em 11 Jul 2006 14:46, em um total de 1 vez.
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

veric

Mensagem por Josmar dos Santos »

Ok Zoc...vou fazer o seu teste...ve se consegui me da uma força em relaçao a ultima mensagem...om
grato
Josmar
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Verificar cadastro

Mensagem por Josmar dos Santos »

Ola Zoc...fiz o seu teste e deu certo, porem se eu preencher o campo cpf e por algum motivo eu apagar os dados, ele volta como estava antes, ou seja, nao deixa eu passar...reafirmando...ele passa em branco no cpf...mas desde que eu nao faca o mesmo acima !
Josmar
:(
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

use a função criada para verificar se o cpf encontrado é do cliente que vc esta alterando. Use um campo como código do cliente. Se vc entrar alterando a ficha do cliente e o cpf procurado for do mesmo cliente, a função permite continuar a edição dos campos.

Boa sorte.
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Mensagem por Daniel »

Ou tambem.

Código: Selecionar todos

gcpf:= ''
ncpf:= space(11)
@ 10, 10 say 'n cpf:' get ncpf Picture '@r 999.999.999-99' when gravacpf() valid buscacpf()
read

function gravacpf()
gcpf:= ncpf
return .t.

function buscacpf()
if gcpf != ncpf
 if ! suafuncaodebusca()
    alert('cpf ja cadastrado')
    return .f.
 endif
endif
return .t.
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Responder