Ir para conteúdo

POWERED BY:

Arquivado

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

renatotrincas

Impressão parcial de banco de dados

Recommended Posts

Eu tenho o seguinte sistema:Controle de Entrada e Saída de Carros e Motos.O campo da tabela Data de Entrada tem o seguinte formato: dd/mm/yyyyEu gostaria de filtrar este campo para efetuar a impressão somente especificando o mês e ano, isto fazendo com RadioButton para cada mês e um TextBox onde digitará o ano. Como devo proceder parar filtrar este campo no VB.Detalhe: estou usando ADO Data Control com Microsoft Jet 4.0.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer da seguinte forma.

Supondo que seja informado pelo usuário 04/2005, então você pode filtrar os dias utilizando a função do SQL BETWEEN que por sua vez retoraná os dados de um intervalo. Para saber quantos dias existem em um detierminado mês, utilize a função do VB Datepart.

Exemplo:

 

Dim DiaFinal    as integerDim DiaIncial   as integerDim  Mes         as integerDim  Ano         as integerDim DataIncial as stringDim DataFinal  as stringDiaIncial =1Mes="04"Ano="2005"'Quantidade de dia no mês 5DiaFinal =DatePart("d", DateSerial(2005, 5 + 1, 0))DataInical=DiaIncial & "/" & Mes &"/" & AnoDataFinal=DiaFinal  & "/" & Mes &"/" & AnoSQL= SELECT * FROM Tabela WHERE Campo BETWEEN  Convert(DateTime,' " & DataIncial & "',103)  AND  Convert(DateTime,' " & DataFinal & "',103)'Agora basta executar esta SQL

Obs: Lembrando que você pode partir do pressuposto que os dias vão de 1 até 31, então já pode usar na DataIncial concatenado o 1 logo apos o mês e ano e na DataFinal pode concater 31 logo em seguida o mês e ano.

Pode surgir a duvida, mas se tiver um mês com 30 dias ou que tenha registros até o dia 10 por exemplo, sem problemas pois será retornado só tiver ocorrências, não precisando usar outras funções somente a BETWEEN.

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.