Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Busca com mais de um edit


Marian_snp

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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

Link to comment
Share on other sites

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...