Olá amigos,
To com um probleminha, que não estou conseguindo resolver.
Preciso, fazer um cadastro de clientes, e qdo estiver incluindo o sistema mostrar se já esta ou não cadastrado. E se estiver, cadastrado ele devera fazer o cadastro deste cliente, já com novo codigo. Tudo em REDE.
To tentando, mas não esta avisando...
Cadastro de Clientes
- CODIGO
- NOME
- DATA NASCIMENTO
- TELEFONE
Fico grato!!!
Incluindo/Alterando "Tudo ao mesmo tempo"
Moderador: Moderadores
Creio não ter entendido direito o que vc quer fazer, mas vamos tentar.
- Fazer a pesquisa no cadastro de clientes e localizar o registro solicitado;
- Copiar os dados usando um array para conter os dados atuais;
- Abrir um novo registro no mesmo arquivo;
- Alterar o código no array;
- Gravar o array no arquivo.
Só não entendi essa de ter o cadastro do cliente e cadastra-lo novamente com código diferente.
Se vc esta querendo só atualizar o código, vc corre o perigo de perder os dados relacionados ao cliente.
Se vc explicar melhor, talvez eu possa ajudar mais.
Boa sorte.
- Fazer a pesquisa no cadastro de clientes e localizar o registro solicitado;
- Copiar os dados usando um array para conter os dados atuais;
- Abrir um novo registro no mesmo arquivo;
- Alterar o código no array;
- Gravar o array no arquivo.
Só não entendi essa de ter o cadastro do cliente e cadastra-lo novamente com código diferente.
Se vc esta querendo só atualizar o código, vc corre o perigo de perder os dados relacionados ao cliente.
Se vc explicar melhor, talvez eu possa ajudar mais.
Boa sorte.
"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}
-
MARCELOG
- Usuário Nível 4

- Mensagens: 546
- Registrado em: 15 Mar 2005 16:54
- Localização: Divinópolis/MG
Crie arquivo com o nome dos campos a serem preenchidos.
Ex: teste.dbf com campos teste1, teste2, teste3
Crie índices para esse arquivo conforme a necessidade.
Ex: teste1.ntx (eu prefiro cdx)
Abra o arquivo no modo compartilhado.
No seu programa, e é apenas uma sugestão, em sua rotina inclusão,
iguale as variáveis de memória com os campos do arquivo.
Use o "registro fantasma" para obter informações válidas
dbgobottom()
dbskip(1)
vteste1:=TESTE->TESTE1
vteste2:=TESTE->TESTE2
vteste3:=TESTE->TESTE3
O usuário preenche as variáveis e "aperta" a tecla que confirma a gravação do registro.
O campo chave é teste1, é por ele que o sistema vai verificar se o registro já está gravado.
Então, se a informação em vteste1 já estiver no banco de dados, as informações não devem ser gravadas.
Assim:
if dbseek(vteste1) //lembre-se o arquivo está indexado (ordenado) por teste1
alter("Registro já foi gravado")
Else
dbappend()
if neterr() //verifica se não houve erro de inclusão
TESTE->TESTE1:=vteste1
TESTE->TESTE2:=vteste2
TESTE->TESTE3:=vteste3
dbcommit() //força gravação
dbunrlock() //libera registro
endif
É mais ou menos isso.
Há exemplos na pasta de downloads.
MarceloG
Ps:para novo código, procure no fórum, utilizando o "buscador" ou veja em www.caclipperwebsite.com
Não é propaganda do site, mas tem coisas muito úteis numa liguagem fácil.
Todavia, sempre frequente este fórum.
Ex: teste.dbf com campos teste1, teste2, teste3
Crie índices para esse arquivo conforme a necessidade.
Ex: teste1.ntx (eu prefiro cdx)
Abra o arquivo no modo compartilhado.
No seu programa, e é apenas uma sugestão, em sua rotina inclusão,
iguale as variáveis de memória com os campos do arquivo.
Use o "registro fantasma" para obter informações válidas
dbgobottom()
dbskip(1)
vteste1:=TESTE->TESTE1
vteste2:=TESTE->TESTE2
vteste3:=TESTE->TESTE3
O usuário preenche as variáveis e "aperta" a tecla que confirma a gravação do registro.
O campo chave é teste1, é por ele que o sistema vai verificar se o registro já está gravado.
Então, se a informação em vteste1 já estiver no banco de dados, as informações não devem ser gravadas.
Assim:
if dbseek(vteste1) //lembre-se o arquivo está indexado (ordenado) por teste1
alter("Registro já foi gravado")
Else
dbappend()
if neterr() //verifica se não houve erro de inclusão
TESTE->TESTE1:=vteste1
TESTE->TESTE2:=vteste2
TESTE->TESTE3:=vteste3
dbcommit() //força gravação
dbunrlock() //libera registro
endif
É mais ou menos isso.
Há exemplos na pasta de downloads.
MarceloG
Ps:para novo código, procure no fórum, utilizando o "buscador" ou veja em www.caclipperwebsite.com
Não é propaganda do site, mas tem coisas muito úteis numa liguagem fácil.
Todavia, sempre frequente este fórum.

