Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, quando eu coloco os field na query e mando executar um SELECT MAX, ele da o seguinte erro:Query1:Field 'Codigo' not found.mais quando eu tiro os fields, a Query funciona normalmente, gostaria de saber o porque deste deste erro ?Obrigado
Segue abaixo o codigo que estou usando: With QueryVAnuncios Do Begin Close; SQL.Clear; SQL.Add('SELECT NomeCliente, MAX(DataVeiculacao) FROM veiculacao'); SQL.Add('GROUP BY NomeCliente'); SQL.Add('ORDER BY NomeCliente'); Open; End;Se eu tirar os Fields da Query, funciona normalmente, agora se eu coloco, da o erro que sitei acimaObrigado
Este erro está acontecendo pq no Delphi você adicionou todos os campos no componente da query. Certo?E nesse SELECT, você só pega dois campos. Aí o Delphi fala que está faltando campos no SELECT. Por isso que quando você tira os Fields, dá certo. Pq ele retorna todos os campos.Então, você precisa retornar todos os campos que estão na query.
Se eu entendi, não tem como eu FAZER UMA função de agregação com os fields não, seria isso ?Obrigado
Agora, foi eu que não entendi. heheheO seu problema é o que eu disse (quase que total certeza): o seu componente Query tem os Fields e você está fazendo um SELECT com menos Fields do que o seu componente Query.
cara.... oq o Wilton ta falando seria o seguinte.... tu provavelmente deve ter passado pra tua qry um select from tabela... e via sql tu ta passando select campo, max(campo) from tabela... trocando por miudos... no select tu tem 5 campos (por exemplo) e no q tu ta passando tu tem 2... ai qnd ele abrir a qry ele não vai encontrar os outros 3 campos que estão faltando.. isso gera erro.. solução: coloca o MESMO sql que tu vai passar pra qry na qry... e da um add fields.. com esse sql ai ele iria adicionar NomeCliente e MAX(DataVeiculacao)... não daria erro nenhum.... :D
É isto aí. A solução é você ajustar o número de Fields retornados pelo SELECT ao número de Fields cadastrados em sua Query.
Eu fiz isso agora, e está dando o erro referendo ao campo que estou utilizando o SELECT MAX(Data), eu tiro o MAX e a query roda numa boa.Query1:Field 'Data' not found.Obrigado
Amigo, é o mesmo problema que relatamos. No Delphi, dê um duplo clique no componente Query1 e veja quais os campos estão lá. Veja se lá tem o campo Codigo,Data....
complementando...vai na qry.. tira TUDO os field que tiver la... ai tu pega o MESMO sql qur tu vai passar via programação e colocar na qry e dai sim adiciona os fields... isso vai resolver certamente... :D qualquer duvida tamo ai!
Ok Pessoal, já consegui aqui !!!Obrigado pela força !
Para ficar mais fácil de entender, poste o SELECT que dá o erro.