Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Busca com mais de um edit


Marian_snp

Pergunta

Ola. se alguém poder me ajudar eu agradeço.

preciso fazer uma busca em toda a tabela ultizando dois edit, então eu usei.

if not DM.Tab_Numeros.Locate('C1;C2', VarArrayOf([edit1.text, edit2.text]), [loPartialKey])then

ShowMessage ('Dados não Localizados');

porem o edit1 so pesquisa no c1 e o edit2 nos pesquisa no c2.

eu tenhos os campos c1 c2 c3 c4 c5 e c6 e preciso que os edits pesquise em todos os campos,seria tipo assim os numeros da loteria sorteados para ser pesquisado no banco de dados(Tabela)

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
if not DM.Tab_Numeros.Locate('C1;C2;C3;C4;C5;C6', VarArrayOf([edit1.text, edit2.text, edit3.text, edit4.text, edit5.text, edit6.text]), [loPartialKey]) then ShowMessage ('Dados não Localizados');

abraço

dessa forma o c1 vai pesquisar no edit, o c2 no edit2 e assim ate o sexto....não da certo.

o que eu preciso e que o c1 seja pesquisado em todos os edits do 1 ate o 6, o c2 nos edits 1 ate o seis e assim ate o ultimo.

mais completo seria assim são seis edits e para ser pesquisados em 15 campos na tabela e todos os seis edits tem que pesquisar nos 15 campos da tabela..

em resumo seria mais ou mesmo assim.

digamos que eu tenha digitados nos edits os numero

1 4 7 9 11 12

na tabela eu tenho os numero

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

ficaria assim então

edit1 edit2 edti3 edit4 edit5 edit6

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Link para o comentário
Compartilhar em outros sites

  • 0

voce deve se expressar melhor para que possamos entender o que voce quer

na tabela eu tenho os numeros e cada numero esta em um campo da tabela

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

digamos que eu tenha digitado nos edits os numeros

1 4 7 9 11 12

então eu quero procurar nesses 15 campos se todos os numeros digitados se encontram nesse registro

é isso que voce esta querendo ?

Link para o comentário
Compartilhar em outros sites

  • 0

s900mt a sua duvida tambem não foi resolvida no outro forum por falta de entendimento

e Tambem assim.

With DM.AdoQuery1 do 
Begin 
 Close; 
 SQL.Clear; 
 SQL.Add ( 'Select * From cam Where c1 In('+Edit1.text+','+Edit2.text+','+Edit3.text+' and '); 
 SQL.Add( 'c2 In('+Edit1.text+','+Edit2.text+','+Edit3.text+')'); 
 Open; 
 if DM.AdoQuery1.RecordCount = 0 then 
 showmessage('Nenhum Registro foi Encontrado com estas restrições!!'); 
end;
tambem dei o espaço no END mas mesmo assim não deu ============================================================== se o que eu expus no post acima é correto então voce deveria fazer assim a sua select 1 4 7 9 11 12
SELECT * FROM NUMEROS WHERE 1 OR 4 OR 7 OR 9 OR 11 OR 12 IN(N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15)
passando para o seu código seria
SQL.Add ( 'Select * From cam Where' +Edit1.text+' or '+Edit2.text+' or '+Edit3.text+' or '+ Edit4.text+' or '+Edit5.text+' or '+Edit6.text+'  IN(C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15)';
OBS: o uso do operador OR encontrará um ou outro numero dentro do registro agora se voce quer que ele encontre todos os numeros digitados no registro, voce deve trocar o operador OR pelo AND
SQL.Add ( 'Select * From cam Where' +Edit1.text+' and '+Edit2.text+' and '+Edit3.text+' and '+ Edit4.text+' and '+Edit5.text+' and '+Edit6.text+'  IN(C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15)';

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

RESOLVIDO.

Pessoal agraço pela atençao e ajuda de vocês.

O script foi resolvido e ficou assim:

With DM.AdoQuery1 do

begin

close;

SQL.clear;

SQL.Add('select * from cam Where') ;

SQL.Add('(:Par1 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');

SQL.Add('(:Par2 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');

SQL.Add('(:Par3 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');

SQL.Add('(:Par4 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');

SQL.Add('(:Par5 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');

SQL.Add('(:Par6 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15))');

Parameters.ParamByName('Par1').Value := StrToInt(Edit1.Text);

Parameters.ParamByName('Par2').Value := StrToInt(Edit2.Text);

Parameters.ParamByName('Par3').Value := StrToInt(Edit3.Text);

Parameters.ParamByName('Par4').Value := StrToInt(Edit4.Text);

Parameters.ParamByName('Par5').Value := StrToInt(Edit5.Text);

Parameters.ParamByName('Par6').Value := StrToInt(Edit6.Text);

open;

if DM.AdoQuery1.RecordCount = 0 then

showmessage('Nenhum Registro foi Encontrado com estas restrições!!');

end;

Link para o comentário
Compartilhar em outros sites

  • 0

SQL.Add('select * from cam Where');
SQL.Add('(:Par1 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');
SQL.Add('(:Par2 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');
SQL.Add('(:Par3 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');
SQL.Add('(:Par4 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');
SQL.Add('(:Par5 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) and');
SQL.Add('(:Par6 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15))');
voce pode reduzir isso para
SQL.Add('select * from cam Where');
SQL.Add('(:Par1 and :Par2 and :Par3 and :Par4 and :Par5 and :Par6 in (C1, C2, C3, C4, C5, C6 ,C7, C8, C9, C10, C11, C12, C13, C14, C15)) ');

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...