ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Função SQL max - mostrar valor máximo delphi [Resolvido]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Rogeriomgo
Novato
Novato


Registrado: Domingo, 24 de Abril de 2005
Mensagens: 82

MensagemEnviada: Seg Ago 24, 2009 10:29 am    Assunto: Função SQL max - mostrar valor máximo delphi [Resolvido] Responder com Citação

Tenho uma tabela de vendas onde está o valor total das notas fiscais retirada em cada dia, para saber qual a nota fiscal de valor máximo usando o commandtext sql seria:
"select max(valor_total) from vendas" aqui ele me retorna o valor máximo da venda que tem na tabela vendas (ibexpert). Como chamo no delphi este valor e apresento em um Tedit, dbedit ou label?
Sendo que para chamar este valor máximo uso um tbutton. Em um datamodule tenho um clientedataset, um provider e uma query.


Editado pela última vez por Rogeriomgo em Qui Set 17, 2009 10:53 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wllfl
Novato
Novato


Registrado: Segunda-Feira, 3 de Agosto de 2009
Mensagens: 40

MensagemEnviada: Sáb Ago 29, 2009 7:34 am    Assunto: Responder com Citação

PARCEIRO ESSE: (valor_total), 'VALOR_TOTAL' ESTA NA TABELA COMO ULTIMO VALOR, OU SEJA, ELE APARECE COMO SOMA DE TODAS AS VENDAS DE UM SÓ REGISTRO ? ELE UM CAMPO VÁLIDO ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Rogeriomgo
Novato
Novato


Registrado: Domingo, 24 de Abril de 2005
Mensagens: 82

MensagemEnviada: Sáb Ago 29, 2009 10:41 am    Assunto: Responder com Citação

Quero retornar o valor total de uma nota fiscal que tenha o valor maior de venda do dia, por exemplo: tenho em determinado dia a retirada de 30 notas fiscais de vendas, entre estas notas há uma de maior valor de venda, quero retornar em um tedit este valor por exemplo:
nota fiscal 0001 = valor total R$345,00
nota fiscal 0003 = valor total R$120,35
nota fiscal 0010 = valor total R$456.79
.
.
.

então me retornaria o valor da nota fiscal 0010 que seria de R$456,79.

na minha tabela vendas estaria todas as notas fiscais de cada dia. Em uma pesquisa por dia, quero pegar apenas o valor total de venda da nota de maior valor.

Sei que é,possível por outras formas mas gostaria de aplicar a linha de comando sql "select max(valor_total) from vendas" no delphi para retornar o valor.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wllfl
Novato
Novato


Registrado: Segunda-Feira, 3 de Agosto de 2009
Mensagens: 40

MensagemEnviada: Sáb Ago 29, 2009 11:39 am    Assunto: Responder com Citação

PARCEIRO, A LINHA DE COMANDO EM SQL ESTÁ LEGAL, O QUE EU ACHO Q PODERIA SER FEITO NESSE CASO SERIA INTRODUZIR NO EDITOR DO DELPHI ALGUMA COISA DO GENERO:

IF ('NOME DA QUERY'.RECORDCOUNT >0) THEN
BEGIN
TEDIT.TEXT = 'NOME DA QUERY'.VALUE OU TEXT ;
END;


NESSE CASO 'SE A QUERY ENCONTRAR O REGISTRO DE MAIOR VALOR O RECORDCOUNT SERÁ MAIOR QUE 0 THEN O TEXT DO EDIT SERÁ IGUAL AO VALOR DA QUERY'.

NÃO SEI VAI DAR CERTO PQ AINDA NÃO TESTEI, ESTOU PASSANDO OS COMANDOS D CABEÇA, TALVEZ VC TENHA QUE CONVERTER OS VALORES, CASO NÃO RODAR AVISA.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Dom Ago 30, 2009 8:06 pm    Assunto: Responder com Citação

Rogeriomgo escreveu:
Quero retornar o valor total de uma nota fiscal que tenha o valor maior de venda do dia, por exemplo: tenho em determinado dia a retirada de 30 notas fiscais de vendas, entre estas notas há uma de maior valor de venda, quero retornar em um tedit este valor por exemplo:
nota fiscal 0001 = valor total R$345,00
nota fiscal 0003 = valor total R$120,35
nota fiscal 0010 = valor total R$456.79
.
.
.

então me retornaria o valor da nota fiscal 0010 que seria de R$456,79.

na minha tabela vendas estaria todas as notas fiscais de cada dia. Em uma pesquisa por dia, quero pegar apenas o valor total de venda da nota de maior valor.

Sei que é,possível por outras formas mas gostaria de aplicar a linha de comando sql "select max(valor_total) from vendas" no delphi para retornar o valor.
Não sei se eu entendi, mais este comando select vc não pode simplesmente colocar dentro de um Query e linkar ele no datasource e usar um dbtext ou dbedit, como queira?
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wllfl
Novato
Novato


Registrado: Segunda-Feira, 3 de Agosto de 2009
Mensagens: 40

MensagemEnviada: Seg Ago 31, 2009 12:39 pm    Assunto: Responder com Citação

ISSO AÍ PARCEIRO, ESSES COMANDOS QUE EU PASSEI SERIA SÓ PARA VC TRANSMITIR OS REGISTROS DA QUERY PARA A TELA.

AINDA NÃO TESTEI HEIN.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Rogeriomgo
Novato
Novato


Registrado: Domingo, 24 de Abril de 2005
Mensagens: 82

MensagemEnviada: Ter Set 01, 2009 8:54 pm    Assunto: Responder com Citação

O select que coloquei, quando executado no editor sql do ibexpert, me retorna o resultado esperado. Gostaria de saber se tem como usa-lo no delphi usando o commandtext ou similar, para retornar o resultado em um dbedit ou tedit. Ainda não testei a dica acima, retorno depois com o resultado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Set 01, 2009 9:49 pm    Assunto: Responder com Citação

Rogeriomgo escreveu:
O select que coloquei, quando executado no editor sql do ibexpert, me retorna o resultado esperado. Gostaria de saber se tem como usa-lo no delphi usando o commandtext ou similar, para retornar o resultado em um dbedit ou tedit. Ainda não testei a dica acima, retorno depois com o resultado.
Não entendi ainda sua dificuldade, o que vc digita no ibexpert vc pode digitar dentro do componente clientdataset. Quais componentes vc esta usando?
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Rogeriomgo
Novato
Novato


Registrado: Domingo, 24 de Abril de 2005
Mensagens: 82

MensagemEnviada: Qua Set 02, 2009 5:29 pm    Assunto: Responder com Citação

Em um datamodule tenho um clientedataset, um provider e uma query.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Rogeriomgo
Novato
Novato


Registrado: Domingo, 24 de Abril de 2005
Mensagens: 82

MensagemEnviada: Sex Set 04, 2009 5:54 pm    Assunto: Responder com Citação

Tenho em um datamodule, clientdataset, provider e query. No formulário por exemplo um botão para chamar a nota fiscal de maior valor do dia, retornando apenas o valor total da nota fiscal. A tabela vendas, se refere a uma tabela onde estão registrados o numero da nota_fiscal, data_nota e valor_total da nota de cada dia. Estou querendo retornar em um dbedit o valor total da nota fiscal de maior valor de venda do dia. Estou querendo usar o commandtext, pois a função max, vai me retorna o valor máximo do campo valor_total. O commandtext seria 'select max(valor_total) from vendas'. Veja o exemplo acima. Não sei como encaixar este select, no delphi.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
theblitzkriegbop
Novato
Novato


Registrado: Terça-Feira, 18 de Agosto de 2009
Mensagens: 41

MensagemEnviada: Seg Set 14, 2009 10:33 am    Assunto: Responder com Citação

Da uma olha neste código.
Código:

//PEGA O MAIOR NUMERO DE PROTOCOLO
  DM.Qry_APartes.Active := false;
  DM.Qry_APartes.SQL.Clear;
  DM.Qry_APartes.SQL.Add('select max (A_PROTOCOLO) from a_partes');
  DM.Qry_APartes.Active := true;

  //MOSTRA O NUMERO DO PROTOCOLO NO EDIT4.
  if Dm.Qry_APartes.FieldByName('max').AsString <> '' then
   begin
  edit4.text := DM.Qry_APartes.FieldByName('max').AsString;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Rogeriomgo
Novato
Novato


Registrado: Domingo, 24 de Abril de 2005
Mensagens: 82

MensagemEnviada: Qua Set 16, 2009 10:46 pm    Assunto: Responder com Citação

/adequando o codigo acima ao meu;

DMVendas.Qry_Vendas.Active := false;
DMVendas.Qry_Vendas.SQL.Clear;
DMVendas.Qry_Vendas.SQL.Add('select max(Valor_Total) from Vendas');
DMVendas.Qry_Vendas.Active := true;

if DMVendas.Qry_Vendas.FieldByName('Valor_Total').AsString <> '' then
begin
edit4.text := DMVendas.Qry_Vendas.FieldByName('max').AsString;
-----------------------------------------------------------------------
Na query tenho meu select assim:

Select
nota_fiscal, data_nota, Valor_Total
from
Vendas
where
nota_fiscal= :nota_fiscal
----------------------------------------------------------------------
Quando executo da o seguinte erro:

"Qry_Vendas. Field 'valor_total' not found"

ou seja campo 'valor_total' não encontrado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
DonOctavioDelFlores
Colaborador
Colaborador


Registrado: Quarta-Feira, 12 de Setembro de 2007
Mensagens: 2630
Localização: Pra lá de Bagda

MensagemEnviada: Qui Set 17, 2009 10:59 am    Assunto: Responder com Citação

Código:

with DM.Qry_APartes do
begin
  Close;
  SQL.Clear;
  SQL.Add('select max(Valor_total) as Valor_Total from Vendas ');
  Open;

  edit4.text := FieldByName('Valor_Total').AsString;
end;

_________________
“The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Rogeriomgo
Novato
Novato


Registrado: Domingo, 24 de Abril de 2005
Mensagens: 82

MensagemEnviada: Qui Set 17, 2009 10:52 pm    Assunto: Responder com Citação

Adequando o codigo acima a minha necessidade ficou assim:
Código:

DMVendas.Qry_Vendas.close;
DMVendas.Qry_Vendas.SQL.Clear;
DMVendas.Qry_Vendas.SQL.Add('select max(Valor_Total) as valor_total from Vendas');
DMVendas.Qry_Vendas.open;
edit4.text := DMVendas.Qry_Vendas.FieldByName('valor_total').AsString;


Resolvido.
Obrigado a todos.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB