Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jipa

Comparando Campos Dbedit E Dblookup Com Os Dados Do Bd

Recommended Posts

Olá pessoal estou aprendendo a desenvolver algumas coisas no delphi e estou com algumas dúvidas.

 

1ª Dúvida - Estou utilizando um DBcheckbox1, quando eu marco está opção ele grava no banco a letra "T", tem como mudar este valor?

 

 

2ª Dúvida - como faço para comparar um valor que estou digitando num campo DBEditNomecliente e um DBLookupcombobox com o restante dos dados que já estão gravados na tabela.

 

Quero saber se o nome que estou digitando no campo nome do cliente no DBEditNomeCliente é igual ao que já esta gravado no tabela X e se também o nome da tarefa que esta no DBLookupCombobox Já existe na tabela X para o respectivo cliente.

 

o nome do cliente eu preciso que ele se repita dentro da tabela X agora o nome da tarefa que esta sendo selecionado no DBLookupCombobox não poderá se repetir para o respectivo cliente.

 

se alguém puder ajudar, desde já agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

no DBcheckbox1 altere as propriedades ValueChecked e ValueUnChecked, esses são os valores que serão gravados e recuperados do banco

 

sobre sua segunda duvida, eu lhe aconselho a trabalhar com índices unicos entre os dois campos, ai você pode tratar a exceção para se caso vier KEY VIOLATION, você sabe que o usuário tentou entrar com uma tarefa+ usuário duplicado na tabela X

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Diego Garcia obrigada pela sua atenção a primeira solução ok, mais a segunda você não entendeu direito eu preciso que o nome do cliente se repita na tabela e que somente a tarefa não se repita para o cliente na verdade a tarefa irá se repetir mais para clientes diferentes, entendeu?

 

 

exemplo se eu tenho as tarefas X, Y, Z, H, W, K

 

CLIENTE ----TAREFA

MARIA------------X

MARIA------------Y

JOAO-------------X

JOAO-------------Y

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi isso mesmo que eu disse, um indicie único para os dois campos... ai ele só da key violation se você tentar gravar

 

maria x

maria y

maria x <- key violation

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi isso mesmo que eu disse, um indicie único para os dois campos... ai ele só da key violation se você tentar gravar

 

maria x

maria y

maria x <- key violation

 

Olá Diego na verdade você expôs a sua solução sem ao menos ler direitinho o que eu preciso, leia direitinho que você irá entender, eu sei da opção de key violation...mais se você ler tudo direitinho o que eu coloquei nas minhas dúvidas irá ver que eu escrevi que eu preciso que o nome se REPITA...É que somente a TAREFA NÃO SE REPITA para o respectivo cliente que eu estarei cadastrando, JÁ PARA CLIENTES DIFERENTES A TAREFA PODERÁ SE REPETIR.

 

CLIENTE-------TAREFA

MARIA-----------X

MARIA-----------Y

JOAO------------Y

JOAO------------X

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, acho que você não entendeu a minha solução... o índice único que contemple os dois campos não permite uma repetição de um valor referente aos dois campos.. ou seja, o mesmo nome não pode aparecer para a mesma tarefa e vice versa, sendo assim, a maria pode ter X tarefas diferentes e qualquer uma dessas X tarefas podem estar para Y pessoas, o que não vai poder acontecer é a maria ter a tarefa A duas vezes ou a tarefa B aparecer para joao duas vezes... entendeu? se quando você criar um índice único e informar o campo nome e tarefa o banco cuida disso para você... eu li seu problema, lhe recomendo fazer um teste com a solução que propus, se der certo, fico feliz por ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.