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

Consulta parcial usando query


DVMarinho

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

dvmarinho,

especifique melhor o qu você esta querendo, para podermos melhor te ajudar. Tipo, você esta querendo consultar numa query, apenas digitando uma caracterer e já aprecer o resultado?? Ex. no edit digito o caracter "C" e me aparece todos os registros que comecem com "C", após digitar "CA" e assim sucessivamente até chegar no registro desejado.

Posta também tudo o seu código afim de podermos analisar.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

e isso mesmo q eu qro, no meu botão de consulta e so apenas aqle codigo e na minha query e esse:

procedure tDataModule8.select(disciplina:tDisciplina);

begin

try

Query1.Close;

Query1.SQL.Clear();

Query1.SQL.Add('select codigo, nome');

Query1.SQL.Add('from disciplina');

Query1.SQL.Add('where 0 = 0');

If disciplina.nome <> '' Then

Query1.SQL.Add('and nome = '+ #39 + disciplina.nome + #39);

Query1.SQL.Add('order by nome');

Query1.Open;

except

raise;

end;

end;

Editado por DVMarinho
Link para o comentário
Compartilhar em outros sites

  • 0

Olá...

Na comparação, deve usar like

Dando uma arrumada no seu código:

Procedure tDataModule8.select(disciplina:tDisciplina);
Var
  iRegistros: LongInt;
Begin

  With Query1 do Begin
    Close;
    SQL.Clear();
    SQL.Add('select codigo, nome ');
    SQL.Add('from disciplina ');
    if disciplina.nome<>'' then
      SQL.Add('where nome like "'+disciplina.nome+'%" ');
    {EndIf disciplina...}
    SQL.Add('order by nome;');
    Try
      Open;
      iRegistros := RecordCount;
    Except
      SQL.SaveToFile('c:\temp\query_com_erro.sql');
      iRegistros := -1;
    End;
    Close;
  End;{With Query1}
  If iRegistros<0 then
    ShowMessage('Falha na Query... examine o '+
                'arquivo c:\temp\query_com_erro.sql')
  Else If iRegistros=0 then
    ShowMessage('Não há ocorrências da disciplina!')
  Else If iRegistros=1 then
    ShowMessage('Existe apenas uma disciplina!')
  Else
    ShowMessage('Existem '+IntToStr(iRegistros)+' disciplinas!');
  {EndIf iRegistros<0}
End;

O arquivo gravado em caso de erro permite que você consulte o resultado da query usando, por exemplo, o DBExplorer...

Ok?

Link para o comentário
Compartilhar em outros sites

  • 0

tentei acresentar like no meu codigo mas mesmo assim não pegou da erro de sql.

daria pra você colocar um codigo mas simples, meu programa e apenas para armazenar nome das diciplinas no acess, excluir, inserir e consulta.

consegui fazer a consulta mas apenas com o nome completo

obrigado pela atenção

Link para o comentário
Compartilhar em outros sites

  • 0
... meu programa e apenas para armazenar nome das diciplinas no acess, excluir, inserir e consulta.
Access, esta é a palavrinha chave!!!

DVMarinho, sempre que postar dúvidas relacionadas a banco de dados, informe o banco de dados e componentes de acesso que está utilizanado. ;)

Na dica do colega paulobergo, substitua o caraceter "%" pelo "*" (só o Access tem destas coisas...):

SQL.Add('where nome like "'+disciplina.nome+'*" ');

Abraços

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,4k
×
×
  • Criar Novo...