Cancelamento de edição

Delphi

13/02/2004

Olá, eu tenho um form que possui alguns registros, eu gostaria de fazer com que ao preencher o ultimo campo, eu não consiga editar o registro, mesmo se fosse no ítem modificar. Uso Paradox. o nome da tabela é OS e está em um table1


Franck.c

Franck.c

Curtidas 0

Respostas

Skywalker

Skywalker

13/02/2004

Caso voce use o componente datasource tente gerenciar a mudança de estado dele e quando entrar no modo de edicção voce cancela ele e da uma mensagem ao usuario.


GOSTEI 0
Franck.c

Franck.c

13/02/2004

é isso o que eu quero fazer, mas quero q nunca mais dê de modificar.


GOSTEI 0
Skywalker

Skywalker

13/02/2004

tente o seguinte no evento do datasource onstatechange faça o seguinte:

if datasource.State = dsEdit then
begin
application.messagebox(´Não e possivel editar o registro´,´Aviso´, MB_OK);
Table.Cancel;
end;


GOSTEI 0
Franck.c

Franck.c

13/02/2004

isto seria para um registro e os outros ficam normais?


GOSTEI 0
Franck.c

Franck.c

13/02/2004

Explicando melhor, seria o seguinte. depois de eu preencher o campo Data_saida, ele cancele qualquer edição do registro.


GOSTEI 0
Sremulador

Sremulador

13/02/2004

Amigo se você quiser fazer isso alterando certos registros e outros não apos um cadastro(ex) você poderia colocar um campo a mais em sua tabela tipo Editar (integer)

no formlário

if tabela.campo = 1
componente.campo.enabled:= false;

:wink:


GOSTEI 0
Franck.c

Franck.c

13/02/2004

mas eu gostaria que bloqueasse somente os registros que já possuem o campo ´Data_saida´ preenchido.


GOSTEI 0
Skywalker

Skywalker

13/02/2004

No caso voce pode fazer o seguinte comparar se o campo data_saida e nulo ou esta vazio da seguinte forma:
if Data_saida = ´´ then //caso o campo seja string
executa a ação de cancelamento


GOSTEI 0
Franck.c

Franck.c

13/02/2004

não entendi.


GOSTEI 0
Skywalker

Skywalker

13/02/2004

no caso voce so precisa verificar se o campo data_saida e nulo ou nao caso ele nao seja nulo voce cancela ele.

Entedeu.


GOSTEI 0
Franck.c

Franck.c

13/02/2004

se caso ele for nulo, ele executa modificação, se caso não nulo, não executa modificação, é isso?


GOSTEI 0
POSTAR