Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Tenho uma lista que mostra todos os boletos que tenho cadastrados.
Agora eu precisava que ela listasse os boletos por mês.
Segue a parte do código que lista os boletos.
Alguém poderia me ajudar?
rsQuery.Open "select * from nosso_numero order by vencimento_boleto desc ", Conn
No BD esta como data.
O nome do campo é "vencimento_boleto"
Já tentei usar assim, mas não funcionou:
rsQuery.Open "select * from nosso_numero where Month(vencimento_boleto) = Month(Now())", Conn
se entendi bem, vc quer o mes E o ano atuais, então:
dim mesatual, anoatual
mesatual=Month(date)
anoatual=Year(date)
"select * from TABELA where Month(COLUNA_COM_DATA) ="&mesatual&" and Year(COLUNA_COM_DATA)="&anoatual
ou direto na string SQL com o GetDate,
SELECT DATENAME(MONTH, GETDATE())
"select * from TABELA where DATENAME(MONTH, GETDATE()) ="&setembro&" "xanburzum, eu coloquei assim:
rsQuery.Open "select * from nosso_numero where vencimento_boleto(MONTH, GETDATE()) ="&setembro&"", Conn
Ele deu a seguinte msg de erro:
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'vencimento_boleto(MONTH, GETDATE()) ='
Correção, nem precisa as variaveis (acho-as uteis por outros motivos):
/applications/core/interface/imageproxy/imageproxy.php?img=http://i59.tinypic.com/16l0dhc.jpg&key=7df480614526e9fe9324fa2fd3d20efc5104824124ff54eaa3a2b6b9e148f34c" alt="16l0dhc.jpg" />
"SELECT * FROM tb_livro where Month(dia)= month(now()) and Year(dia) = year(now())"
/applications/core/interface/imageproxy/imageproxy.php?img=http://i61.tinypic.com/x6gep1.jpg&key=525a8227a76dd851139d9d20421b51bd4794268c4d03c27cdc62f94f14caf844" alt="x6gep1.jpg" />
Funcionou Fernando C, obrigado.
Ele listou todos os boleto de Setembro certinho.
Agora uma dúvida, se eu quiser listar os de julho, agosto onde eu mudo?
na string SQL vc pode colocar um datediff -1 no month
Xanburzum, vc poderia mostrar pra mim onde coloco dessa forma que vc me citou por favor?
Ou não teria como eu colocar diretamente o mês que quero listar?
rsQuery.Open "SELECT * FROM nosso_numero where Month(vencimento_boleto)= month(now()) and Year(vencimento_boleto) = year(now())", Conn
>
Correção, nem precisa as variaveis (acho-as uteis por outros motivos):
/applications/core/interface/imageproxy/imageproxy.php?img=http://i59.tinypic.com/16l0dhc.jpg&key=7df480614526e9fe9324fa2fd3d20efc5104824124ff54eaa3a2b6b9e148f34c" alt="16l0dhc.jpg" />
"SELECT * FROM tb_livro where Month(dia)= month(now()) and Year(dia) = year(now())"
/applications/core/interface/imageproxy/imageproxy.php?img=http://i61.tinypic.com/x6gep1.jpg&key=525a8227a76dd851139d9d20421b51bd4794268c4d03c27cdc62f94f14caf844" alt="x6gep1.jpg" />
Fernando, teria uma forma de colocar o mês que quero listar? Ex.: Julho, Agosto...!
exemplo de DateDiff()
SELECT *
FROM sua tabela
WHERE DATEDIFF('Hour',Results.Timestamp,Now())<=16
ORDER BY line ASC,Timestamp ASC;
Função
Retorna um número correspondente a difereça entre a data/hora de dois valores.
Sintaxe
DATEDIFF ( DatePart , StartDate , EndDate )
Argumentos
DatePart: Especifica em que unidade o resultado será retornado. A tabela a seguir mostra todos os datepart válidos. Valores que não sejam esses não são válidos.
DatePart Abreviações year yy, yyyy quarter qq, q month mm, m dayofyear dy, y day dd, d week wk, ww hour hh minute mi, n second ss, s millisecond ms microsecond mcs nanosecond ns StartDate: Valor inicial. Pode ser um valor time, date, smalldatetime, datetime, datetime2 ou datetimeoffset, uma expressão, uma expressão de coluna, uma variável definida pelo usuário ou uma cadeia de caracteres. O startdate é subtraído de enddate.
EndDate: Similar so StartDate, porém, representa o valor final, o qual será subtraído por um número.
Tipo de Retorno
int
Exemplos
DECLARE @StartDate DATETIME DECLARE @EndDate DATETIME SET @StartDate ='2011-06-05' SET @EndDate ='2011-08-05' SELECT DATEDIFF(Year, @StartDate, @EndDate) AS NewDate --Valor retornado = 0 anos SELECT DATEDIFF(quarter, @StartDate, @EndDate) AS NewDate --Valor retornado = 1 quarto SELECT DATEDIFF(Month, @StartDate, @EndDate) AS NewDate --Valor retornado = 2 meses SELECT DATEDIFF(dayofyear,@StartDate, @EndDate) AS NewDate --Valor retornado = 61 dias SELECT DATEDIFF(Day, @StartDate, @EndDate) AS NewDate --Valor retornado = 61 dias SELECT DATEDIFF(Week, @StartDate, @EndDate) AS NewDate --Valor retornado = 8 semanas SELECT DATEDIFF(Hour, @StartDate, @EndDate) AS NewDate -Valor retornado = 1464 horas SELECT DATEDIFF(minute, @StartDate, @EndDate) AS NewDate --Valor retornado = 87840 minutos SELECT DATEDIFF(second, @StartDate, @EndDate) AS NewDate --Valor retornado = 5270400 segundos DECLARE @StartDate2 DATETIME DECLARE @EndDate2 DATETIME SET @StartDate2 ='2011-06-05' SET @EndDate2 ='2011-06-06' SELECT DATEDIFF(millisecond, @StartDate2, @EndDate2) AS NewDate --Valor retornado = 86400000 milisegundos
Referências
Veja a biblioteca da função DATEDIFF.
Fernando, teria uma forma de colocar o mês que quero listar? Ex.: Julho, Agosto...!
Bom dia Fernando C, teria uma forma de colocar o mês que quero listar? Ex.: Julho, Agosto...!
olá.. então, nesse caso é que acho uteis as variaveis;
por exemplo, usando um "combo" simples em html com meses:
<select name="meses">
<option value="01">janeiro</option>
<option value="02">fevereiro</option>
<option value="03">março</option>
<option value="04">abril</option>
<option value="05">maio</option>
<option value="06">junho</option>
<option value="07">julho</option>
<option value="08">agosto</option>
<option value="09">setembro</option>
<option value="10">outubro</option>
<option value="11">novembro</option>
<option value="12">dezembro</option>
</select>
'declara a variavel, de acordo com metodo do form
dim mesatual
mesatual=request.form("meses")
'a SQL continua normal:
"SELECT * FROM tbmural where Month(dia) ="&mesatual
Veja umas dicas mais avançadas aqui:
http://trocadicas.blogspot.com.br/2014/11/pesquisa-avancada-em-asp-classico-com.html
se vc tem um campo tipo data pode fazer direto com algumas cláusulas, como Month, getDate etc
Como está seu campo ?