Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo Pescador

Listar por mês

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

se vc tem um campo tipo data pode fazer direto com algumas cláusulas, como Month, getDate etc

 

Como está seu campo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou direto na string SQL com o GetDate,

 

 

SELECT DATENAME(MONTH, GETDATE())

 

"select * from TABELA where DATENAME(MONTH, GETDATE()) ="&setembro&" "

Compartilhar este post


Link para o post
Compartilhar em outros sites

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()) ='

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correção, nem precisa as variaveis (acho-as uteis por outros motivos):

16l0dhc.jpg

"SELECT * FROM tb_livro where Month(dia)= month(now()) and Year(dia) = year(now())"

x6gep1.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

na string SQL vc pode colocar um datediff -1 no month

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correção, nem precisa as variaveis (acho-as uteis por outros motivos):

 

16l0dhc.jpg

 

"SELECT * FROM tb_livro where Month(dia)= month(now()) and Year(dia) = year(now())"

x6gep1.jpg

 

Fernando, teria uma forma de colocar o mês que quero listar? Ex.: Julho, Agosto...!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.