PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → Alterando um registro com HModify
Alterando um registro com HModify
Iniciado por MarcosRoberto, mar., 02 2015 8:58 PM - 5 respostas
Membro registado
11 mensagems
Popularité : +2 (2 votes)
Publicado em março, 02 2015 - 8:58 PM
Caros ao tentar alterar um registro com HModify é apresentado a seguinte mensagem:


http://screencast.com/t/2kRpHepUcdJ

A situação é que tenho no banco o no. de serie e o código IMEI q não podem ser repetidos, mas preciso alterar o registro e isso n estou conseguindo fazer pela mensagem de bloqueio acima.

Marcos Roberto.
Publicado em março, 04 2015 - 5:35 AM
Eu tive um problemas desse no inicio e usei a seguinte forma
HReadSeekFirst(T_CLIENTE,CODIGO,EDT_COD_CLIENTE)
ScreenToFile()
IF HFound() = False THEN
// INFO(EDT_COD_CLIENTE)
HAdd(T_CLIENTE)
//Info("Cadastrado com Sucesso")
ELSE
HModify(T_CLIENTE)
//Info("Modificado com Sucesso")
END
//SetFocus(EDT_COD_CLIENTE)
Membro registado
3 mensagems
Publicado em março, 04 2015 - 5:47 AM
Eu tive um problema desse. Usei dessa forma,

HReadSeekFirst(T_CLIENTE,CODIGO,EDT_COD_CLIENTE)
ScreenToFile()
IF HFound() = False THEN
// INFO(EDT_COD_CLIENTE)
HAdd(T_CLIENTE)
//Info("Cadastrado com Sucesso")
ELSE
HModify(T_CLIENTE)
//Info("Modificado com Sucesso")
END
//SetFocus(EDT_COD_CLIENTE)
Membro registado
11 mensagems
Popularité : +2 (2 votes)
Publicado em março, 04 2015 - 4:05 PM
Caro, obrigado por responder. Mas observe abaixo q o meu codigo n tem a opcao de HADD(), portanto penso eu n deveria dar erro de duplicidade.

OK is boolean

IF EDT_CNPJCPF = "" THEN
Info("Não é possivel alterar sem o CNPJ/CPF")
ReturnToCapture(EDT_CNPJCPF)
END
IF EDT_Nome = "" THEN
Info("Não é possivel alterar sem o Fantasia/RAZAO")
ReturnToCapture(EDT_Nome)
END
IF EDT_Reset = "" THEN
Info("Não é possivel alterar sem a data do reset")
ReturnToCapture(EDT_Reset)
END
OK = HReadSeekFirst(cadastro_dbf,cnpj,EDT_CNPJCPF,hKeepFilter)
IF HFound(cadastro_dbf) = False
Info("CNPJ/CPF não foi encontrado no cadastro. Não é possivel alterar o registro")
ReturnToCapture(EDT_CNPJCPF)
END
HTransactionStart(ConnSuperv)
cadastro_dbf.cnpj = EDT_CNPJCPF
cadastro_dbf.fantasia = EDT_Nome
cadastro_dbf.reset = EDT_Reset
cadastro_dbf.mensagem = EDT_Mensagem
OK = HModify(cadastro_dbf)
IF OK = False THEN
HTransactionCancel(ConnSuperv)
Info("Ocorreu um erro ao tentar gravar os dados")
ReturnToCapture(EDT_CNPJCPF)
ELSE
ToastDisplay("Registro alterado com sucesso",toastShort,vaMiddle,haCenter)
HTransactionEnd(ConnSuperv)
Close(Alterar_Usuario)
END


Pra mim ainda leigo na linguagem fica sem sentido quando se diz q n serah alterada o registro por estah em duplicidade, sendo que necessito apenas de uma alteracao. Na vdd no teste q fiz eu apenas alterei outro o campo.

Ainda esto sem entender.
Membro registado
3 mensagems
Publicado em março, 04 2015 - 6:31 PM
Opa Marcos, caso queira me adicione no skype para que eu possa entender melhor o seu problema...
contato.leofaz
Membro registado
3 mensagems
Publicado em março, 04 2015 - 6:40 PM
Adicione um breakpoin em cada linha do seu codigo para verificar o que ele esta fazendo....