GARANTIR DESCONTO

Fórum Testar se registro em uso #355331

13/03/2008

0

Boa tarde Amigos.
Estou fazendo um programinha que cadastra clientes e orçamentos.

A tabela orcamento esta relacionada com a tabela clientes através do campo cliente.id_cliente e orcamento.cod_cliente.

Beleza....

Na verdade o que eu desejo? Eu quero colocar um teste no botão Excluir do Cadastro de Clientes, que, ao tentar excluir ele vai fazer uma pesquisa, para ver se a tabela orçamentos esta utilizando este cliente.

Se estiver cadastrado algum orçamento para este cliente, o cliente não pode ser excluido, se não tiver nenhum orçamento cadastrado para este cliente, o registro será excluido.

Como devo fazer este teste?
Já tentei de várias formas, mas não fica perfeito.

Se alguém puder me ajudar?

Obrigado.


Uelinton_reis

Uelinton_reis

Responder

Posts

13/03/2008

Macario

Olá colega [b:35d5e9e2e6]uelinton_reis[/b:35d5e9e2e6], boa tarde.

Então qual base de dados você utiliza?

um exemplo em SQL:


  select COD_CLIENTE from Orcamento
  where COD_CLIENTE = :COD_CLIENTE;


Esta instrução nao deve ser usada como, voce deve usar uma restrição, como TOP (SQL Server) pois identificando apenas um registro ja basta.

Agora se voce quiser o codigo em Delphi, diz ai. 8)


Responder

Gostei + 0

13/03/2008

Uelinton_reis

Olá colega [b:60f27b02d4]uelinton_reis[/b:60f27b02d4], boa tarde. Então qual base de dados você utiliza? um exemplo em SQL:
  select COD_CLIENTE from Orcamento
  where COD_CLIENTE = :COD_CLIENTE;
Esta instrução nao deve ser usada como, voce deve usar uma restrição, como TOP (SQL Server) pois identificando apenas um registro ja basta. Agora se voce quiser o codigo em Delphi, diz ai. 8)


--------------------------

Valeu amigo....
Se vc puder me ajudar com o código em delphi....

obrigado.


Responder

Gostei + 0

13/03/2008

Macario

Qual a base de dados para que eu possa montar o codigo correto.

8)


Responder

Gostei + 0

13/03/2008

Uelinton_reis

Qual a base de dados para que eu possa montar o codigo correto. 8)


Estou utilizando Interbase 6.5

valeu


Responder

Gostei + 0

13/03/2008

Macario

Onde esta Dataset troque pelo seu compenente de acesso.


var
 sSQL : String;
begin
  sSQL := ´ select [b]FIRST 1[/b] COD_CLIENTE from Orcamento 
  where COD_CLIENTE = ´+insttostr(iCodCliente)
  Dataset.Close;
  Dataset.SQL.clear;
  Dataset.SQL.Add(sSQL);
  Dataset.Open;
  if not Dataset.isEmpty then
  begin
    Mensagem(´Existe orçamento para este cliente´);
   abort;
  end;
end;


A clausula FIRST 1 limita a consulta a unico resgistro, pois é so o que precisamos.


Espero que ajude.


Responder

Gostei + 0

13/03/2008

Uelinton_reis

Onde esta Dataset troque pelo seu compenente de acesso.
var
 sSQL : String;
begin
  sSQL := ´ select [b]FIRST 1[/b] COD_CLIENTE from Orcamento 
  where COD_CLIENTE = ´+insttostr(iCodCliente)
  Dataset.Close;
  Dataset.SQL.clear;
  Dataset.SQL.Add(sSQL);
  Dataset.Open;
  if not Dataset.isEmpty then
  begin
    Mensagem(´Existe orçamento para este cliente´);
   abort;
  end;
end;
A clausula FIRST 1 limita a consulta a unico resgistro, pois é so o que precisamos. Espero que ajude.


Valeu cara, obrigado mesmo pela ajuda......
só me tira mais esta duvida.
Qual o significado de:
if not Dataset.isEmpty then

valeu, até mais....


Responder

Gostei + 0

13/03/2008

Macario

if not Dataset.isEmpty then

A propriedade isEmpty de TDataset verifica se o mesmo esta vazio

retornando True se estiver vazio e False do contrario.

8)


Responder

Gostei + 0

13/03/2008

Uelinton_reis

if not Dataset.isEmpty then A propriedade isEmpty de TDataset verifica se o mesmo esta vazio retornando True se estiver vazio e False do contrario. 8)


Cara, o que seria estes [b:276f0df65b] e [/b:276f0df65b] do código abaixo?
select [b:276f0df65b]FIRST 1[/b:276f0df65b] COD_CLIENTE from Orcamento

valeu.


Responder

Gostei + 0

13/03/2008

Uelinton_reis

if not Dataset.isEmpty then A propriedade isEmpty de TDataset verifica se o mesmo esta vazio retornando True se estiver vazio e False do contrario. 8)


Caro amigo, testei aqui com a clausula First 1, mas não deu certo.
Ele da erro...

valeu.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar