Deletando um registro(urgente) ligado a outra tabela
07/12/2003
0
Estou usando um BD Interbase, com um datamodule que utiliza:
IBDataSet
DataSource
Como faço para criar uma rotina que antes de deletar um estado, ele verifica se ele está usado na tabela de cidade...???
Obrigado e feliz Natal a todos.
Andersonnadaleto
Posts
07/12/2003
Edilcimar
ex: tabela1=clientes e tabela2=compras
tabela1-> cliente1, cliente2 e cliente3
tabela2->comprascliente1 e comprascliente2
se vc tentar apagar o cliente3 na tabela1 não há problema, porém se tentar apagar o cliente1 ou o cliente2 na tabela1 haverá um erro então vc tem que apagar primeiro as compras deste cliente na tabela2 para depois apagar a tabela1
07/12/2003
Maxadens
[b:13ccaecef7]TabelaCidade[/b:13ccaecef7]
NomeCidade
CodEstadoCidade
e
[b:13ccaecef7]TabelaEstado[/b:13ccaecef7]
CodEstado
NomeEstado
Visto que você quer excluir o estado, somente se ele não estiver sendo usado por uma cidade, no evento BeforeDelete do DataSet Referente a tabela estado (não me lembro se ele tem pois uso sempre o ClientDataSet) você localiza antes de excluir. assim:
if TabelaCidade.locate(´CodEstadoEstado´,TabelaEstado.CodEstado.value,[]) then
begin
messagebox(´Não é possivel excluir!´);
abort;
end
else
TabelaEstado.Delete
08/12/2003
Andersonnadaleto
ow vc tem outra sugestão??
Clique aqui para fazer login e interagir na Comunidade :)