Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
fabiosys Novato

Registrado: Terça-Feira, 27 de Janeiro de 2009 Mensagens: 90
|
Enviada: Qua Jun 15, 2011 6:31 pm Assunto: data de vencimento de produto não consigo fazer funcionar |
|
|
Boa noite, Todos
Estou tentando fazer uma comparação entre a data do rel do windows e 1 tabela de produtos aonde me mostraria só os produtos com data vencida naquele dia. coloquei um Maskedit e fiz a comparação mas não dá certo já que me mostra todos
Na adoquery eu fiz assim
Select * from produtos where data_vencimento;
no botão aonde da o start na "pesquisa" eu fiz
Begin
if datamodule1.qestoquedatavencimento.value = maskedit1.text then
fastreports1.showReport(true) else
ShowMessage('Não existem produtos com a data vencida para hoje!');
end;
end.
Desde já muito orbigado |
|
Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Qui Jun 16, 2011 9:20 am Assunto: |
|
|
no MySQL tem a funcao CURDATE(), q retorna a data atual:
Código: | SELECT * FROM tabela WHERE data_vencimento = CURDATE() |
_________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
 |
fabiosys Novato

Registrado: Terça-Feira, 27 de Janeiro de 2009 Mensagens: 90
|
Enviada: Sex Jun 17, 2011 8:31 am Assunto: Função indefinida na expressão |
|
|
Bom dia
Então no que eu fiz a select conforme vc me enviou esta dando o seguinte erro:
Função "curdate" indefinida na expressão pq será? |
|
Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Sex Jun 17, 2011 9:51 am Assunto: |
|
|
vc tem q verificar qual funcao do seu banco de dados é compativel com a CURDATE, pq esta funcao é do MySQL
qual BD vc ta usando? _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
 |
fabiosys Novato

Registrado: Terça-Feira, 27 de Janeiro de 2009 Mensagens: 90
|
Enviada: Sex Jun 17, 2011 9:55 am Assunto: |
|
|
Eu estou usando o access |
|
Voltar ao Topo |
|
 |
marcellomm Colaborador

Registrado: Segunda-Feira, 7 de Novembro de 2005 Mensagens: 1045
|
Enviada: Sex Jun 17, 2011 9:59 am Assunto: |
|
|
No seu ADOquery:
Código: |
Select SUATABELA.SEUCAMPO from SUATABELA
Where SEUCAMPO<=Date
|
No botão de pesquisa:
Código: |
With SUAQUERY do
Begin
Close;
Open;
if SUAQUERY.isEmpty then
begin
Application.Messagebox('Não existem produtos com data vencida1','.:: A V I S O ::.',64);
END;
END; |
|
|
Voltar ao Topo |
|
 |
fabiosys Novato

Registrado: Terça-Feira, 27 de Janeiro de 2009 Mensagens: 90
|
Enviada: Sex Jun 17, 2011 10:08 am Assunto: |
|
|
Agora diz que o parametro date não têm valor padrão... |
|
Voltar ao Topo |
|
 |
fabiosys Novato

Registrado: Terça-Feira, 27 de Janeiro de 2009 Mensagens: 90
|
Enviada: Sex Jun 17, 2011 10:10 am Assunto: |
|
|
humm isso resolvi fui em parameters e coloquei date ai gerou o valor padrão 00/00/00 srrs agora testar |
|
Voltar ao Topo |
|
 |
fabiosys Novato

Registrado: Terça-Feira, 27 de Janeiro de 2009 Mensagens: 90
|
Enviada: Sex Jun 17, 2011 11:49 am Assunto: |
|
|
Etsranhamente não esta dando certo tentei até fazer um if mas mesmo assim nada.
depois de usar sua dica tentei fazer assim mas tb não deu certo pq os dois modos mostram tudo incusive os que estão sem data!
if datamodule1.QEstoquedata_vencimento.Value <= maskedit1.Text then
datlist.ShowReport(true)else
application.MessageBox('Não existem produtos com data vencida','.::: AVISO :::.',64); |
|
Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Sex Jun 17, 2011 12:16 pm Assunto: |
|
|
tenta assim:
Select * from produtos where data_vencimento = :data
ADOQuery1.ParamByName('data').AsDate := Date; _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
 |
marcellomm Colaborador

Registrado: Segunda-Feira, 7 de Novembro de 2005 Mensagens: 1045
|
Enviada: Sáb Jun 18, 2011 4:39 pm Assunto: |
|
|
fabiosys escreveu: | Etsranhamente não esta dando certo tentei até fazer um if mas mesmo assim nada.
depois de usar sua dica tentei fazer assim mas tb não deu certo pq os dois modos mostram tudo incusive os que estão sem data!
if datamodule1.QEstoquedata_vencimento.Value <= maskedit1.Text then
datlist.ShowReport(true)else
application.MessageBox('Não existem produtos com data vencida','.::: AVISO :::.',64); |
Aqui você tem que transformar o maskedit em data tipo:
Código: |
if datamodule1.QEstoquedata_vencimento.Value <= StrToDate(maskedit1.Text) then
datlist.ShowReport(true)else
|
|
|
Voltar ao Topo |
|
 |
|