Guest - Juniorboll - Postado Março 10, 2006 Denunciar Share Postado Março 10, 2006 Ai fiz um programa com alias e table, so q na hr de consultar eu preciso de procurar pelo nome do fornecedor e entre uma data inicial e final, alguém poderia me ajudar como eu faria isso em delphi por favor??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Luiz Araujo Postado Março 12, 2006 Denunciar Share Postado Março 12, 2006 Alo JuniorBoll você prim. deve preparar a tabela para receber todos estes dados, no forme claro vai estar os edits on sera colocado as datas e nome, deve incluir umcomponente Query, para pesquisa, no botão pesquisar você deve dar os comandosde mudança deste query para pesquisa. seria mais ou menos assim (vou tentar lembrar, qualquer diferença escrevodepois) begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('Select * From "C:\Onde esta o DB\arquivo.DB"'); Query1.SQL.Add('As arquivo.DB'); Query1.SQL.Add('Where (Nome="#39+Edit1.Text+#39") and (Data >= " #39+Edit2.Text+#39") and (Data <= "#39+Edit3.Text+#39")'); Query1.Prepare; Query1.Open; end;Espero que resolvaum abraço Luiz Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Março 12, 2006 Denunciar Share Postado Março 12, 2006 corrigindoo As arquivo.Db será somente As arquivo (isto é o nome do seu table sem extensão).Valeu? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LuizAraujo Postado Março 12, 2006 Denunciar Share Postado Março 12, 2006 Alo JuniorBollVou fazer alteraçõesbeginQuery1.Close;Query1.SQL.Clear;Query1.SQL.Add('Select * From "C:\Onde esta o DB\arquivo.DB"');Query1.SQL.Add('As arquivo');Query1.SQL.Add('Where (Nome='#39+Edit1.Text+#39') and (Data >= '#39+Edit2.Text+#39') and (Data <= '#39+Edit3.Text+#39')');Query1.Prepare;Query1.Open;end;Note que fiz alterações nas aspas dos edits e tirei o .DB em .Add('As...Abraços Luiz Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - juniorboll - Postado Março 14, 2006 Denunciar Share Postado Março 14, 2006 Ae tava viajando e cheguei hj vou tentar fazer isso e depois eu falo se deu certomas muito obrigado... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Solid Snake Postado Março 14, 2006 Denunciar Share Postado Março 14, 2006 Fala Junior,Se estiver usando TTable, tente definir índices para os campos e usar a propriedade Filter da tabela. Dá uma olhada no Help dessa parte de filtragem de tabelas no Delphi, tá muito bem explicadinho.Caso estiver usando uma TQuery, clique com o botão direito neste componente e tente usar o SQLBuilder. Caso você tenha alguma experiência com Access, não será muito difícil usá-lo, bem prático.Abs[]!Snake.Ps.: Se eu escrevi algo errado, por favor me corrijam. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CorN_Sk8 Postado Março 16, 2006 Denunciar Share Postado Março 16, 2006 use between ao invés de usar <= >=;where data between '00/00/00' and '00/00/00' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Março 21, 2006 Denunciar Share Postado Março 21, 2006 Ai mas isso vai funcionar com a table, porque eu ponho um componente query parece q num da pra usar ele??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 juniorboll Postado Março 24, 2006 Denunciar Share Postado Março 24, 2006 Ai so uma pergunta meio boba masform3.Query1.SQL.Add('Where (codigo='Edit1.Text+#39') and (Data >= '#39+Edit2.Text+#39') and (Data <= '#39+Edit3.Text+#39')');nessa linha aqui o q significa o #39? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 juniorboll Postado Março 24, 2006 Denunciar Share Postado Março 24, 2006 Luiz como eu vo chamar um outro form num ficaria assim nãobeginform2.Query1.Close;form2.Query1.SQL.Clear;form2.Query1.SQL.Add('Select * From "C:\Onde esta o DB\arquivo.DB"');form2.Query1.SQL.Add('As arquivo');form2.Query1.SQL.Add('Where (Nome='#39+Edit1.Text+#39') and (Data >= '#39+Edit2.Text+#39') and (Data <= '#39+Edit3.Text+#39')');form2.Query1.Prepare;form2.form2.Query1.Open;end;mas ai se eu faço isso eu num consigo fazer funcionar, onde eu devo colocar esse codigo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Março 24, 2006 Denunciar Share Postado Março 24, 2006 Olá junior,num sei se entendi, mas você quer rodor essa Query e abrir o form? é isso?se for, faz assim:beginform2 := Tform2.Create(Self);form2.Query1.Close;form2.Query1.SQL.Clear;form2.Query1.SQL.Add('Select * From "C:\Onde esta o DB\arquivo.DB"');form2.Query1.SQL.Add('As arquivo');form2.Query1.SQL.Add('Where Nome = '+#39+Edit1.Text+#39+' and Data between '+#39+Edit2.Text+#39+' and '+#39+Edit3.Text+#39+'');form2.Query1.Open;form2.ShowModal;form2.Free;end;o seu código tinha alguns errosnessa linha aqui o q significa o #39? #39 é o código ASCII para aspas, poderia ser assim: 'Where Nome = '+''''+Edit1.Text+''''+' and...Abs. Progr'amador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 juniorboll Postado Março 27, 2006 Denunciar Share Postado Março 27, 2006 Ai fiz deu beleza, valeu d+so q quando muda de ano tipo penho 31/12/2005 ate 31/03/2006 da pau no programa, o q pode ta acontecendo so quando isso acontece, no mudança de 1 ano para o outro, a o meu campo data ta no formato date. sera q melhora se eu por ele como alfa no database? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 juniorboll Postado Março 27, 2006 Denunciar Share Postado Março 27, 2006 use between ao invés de usar <= >=;where data between '00/00/00' and '00/00/00' Mas como eu vou usar o between com o edit?invés deu por a data igual você pos é so eu cologar where data between 'edit1.text' and edit2.text Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Março 27, 2006 Denunciar Share Postado Março 27, 2006 use between ao invés de usar <= >=;where data between '00/00/00' and '00/00/00' Mas como eu vou usar o between com o edit?invés deu por a data igual você pos é so eu cologar where data between 'edit1.text' and edit2.text O fato de se usar a função between não impede de usar edit!o exemplo que lhe passei funciona.desculpe mas não estou lhe entendendo. Abs. Progr'amador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vivendo&Aprendendo Postado Março 27, 2006 Denunciar Share Postado Março 27, 2006 Olá Junior para fazer as minhas consultas entre datas eu utilizo a seguinte rotina: DmDados.Alunos.Close; DmDados.Alunos.SQL.Clear; DmDados.Alunos.SQL.Add('Select * From Alunos'); DmDados.Alunos.SQL.Add('Where DataNasc between :Inicial and :Final'); DmDados.Alunos.Parameters.ParamByName('Inicial').Value := StrToDate(EdtInicial.Text); DmDados.Alunos.Parameters.ParamByName('Final').Value := StrToDate(EdtFinal.text); DmDados.Alunos.SQL.Add('Order By Codigo'); DmDados.Alunos.Open; Lembrando que DmDados é o local onde se encontra a minha query, Alunos é a minha tabela no banco de dados, DataNasc é o campo onde estou efetuando a consulta e INICIAl e FINAL são parametros que recebem os valores para as pesquisas.A rotina que o Progr'amador passou tb funcionaAlexandreAki funciona beleza. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CorN_Sk8 Postado Março 27, 2006 Denunciar Share Postado Março 27, 2006 ao invés de usar #39 pode usar a função QuotedStr(String): StringTexto := QuotedStr('Leonardo');Texto = #39Leonardo#39 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 juniorboll Postado Março 28, 2006 Denunciar Share Postado Março 28, 2006 O trem é o seguinte eu to pondo pra procurar entra as datas dadas certoso q enves de procura entre as datas procura so no 1 num exemploprocurar entre 01/01/2006 ate 30/03/2006ao invés de procurar entre essas data ele procura todos q estao entre 01 a 30 e discarta a procura do restoentendera,? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Março 28, 2006 Denunciar Share Postado Março 28, 2006 Então, Tenta assim:Query1.SQL.Add('Where Nome = '+#39+ Edit1.Text +#39+' and Data between Format('+#39+Edit2.Text+#39+',''dd/mm/yyyy'') and Format('+#39+Edit3.Text+#39+',''dd/mm/yyyy'')');Obs: onde você ver duas aspas (''), são duas aspas simples, NÂO é aspas duplas NÂO.Abs. Progr'amador. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 juniorboll Postado Março 28, 2006 Denunciar Share Postado Março 28, 2006 ai eu fiz uns testes e ta funcionando so q eu vo ter de converter eles pra linguagem brasileira porque ta com o formato americano mm/dd/yyyymas valeu, vocês me ajudaram muito Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Juniorboll -
Ai fiz um programa com alias e table, so q na hr de consultar eu preciso de procurar pelo nome do fornecedor e entre uma data inicial e final, alguém poderia me ajudar como eu faria isso em delphi por favor???
Link para o comentário
Compartilhar em outros sites
18 respostass a esta questão
Posts Recomendados
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.