Estou criando um relatório de contas a pagar entre datas....estou com um problema nessas datas e não tenho a mínima ideia do q esteja acontecendo....
Em um form, o usuario determina a datainicial e datafinal para gerar o relatorio..
Considerando que a tabela de contas tenha dois registros....Estes registros possuem, respectivamente, os valores 05/03/08 e 10/04/08 no campo Con_Venc [campo que guarda o vencimento da conta].
Abaixo seguem uns exemplos de como está funcionando esta geração de relatório...
*Se eu coloco DataInicial = 01/03/08 e DataFinal = 02/03/08 ou 03/03/08 ou 04/03/08...O RELATÓRIO MOSTRA O REGISTRO DA DATA 05/03/08.
*Se eu coloco DataInicial = 01/03/08 e DataFinal = 05/03/08 até 29/03/08...O RELATÓRIO MOSTRA OS DOIS REGISTROS...O DA DATA 05/03/08 E O DA DATA 10/04/08.
*Se eu coloco DataInicial = 01/03/08 e DataFinal = 30/03/08 até 03/04/08...DIZ QUE NÃO HÁ REGISTROS NESSAS CONDIÇÕES.
*Se eu coloco DataInicial = 01/03/08 e DataFinal = 04/04/08 até 29/04/08...O RELATÓRIO MOSTRA OS DOIS REGISTROS...O DA DATA 05/03/08 E O DA DATA 10/04/08.
E assim por diante com os outros meses....
Abaixo está o código de como estou fazendo o SELECT com BETWEEN...
Dim Conex As New ADODB.Connection
Conex.Open StringDeConexao
With cmd_relatorio
.ActiveConnection = Conex
.CommandType = adCmdText
.CommandText = "SELECT * FROM FinanWin_Contas WHERE isNull(Con_ValorPgtoCP) AND Con_Tipo = 'CP' AND Con_Venc BETWEEN #" & txtDataInicial & "# AND #" & txtDataFinal & "# ORDER BY Con_Venc"
Set rs_relatorio = .Execute
End With
If Not rs_relatorio.EOF Then
Dim DInicial As Date
Dim DFinal As Date
DInicial = txtDataInicial.Text
DFinal = txtDataFinal.Text
rptConPData.Sections("Section2").Controls.Item("lblPeriodo").Caption = "Período de Referência: " & Format(DInicial, "DD/MM/YYYY") & " a " & Format(DFinal, "DD/MM/YYYY")
With rptConPData
Set .DataSource = rs_relatorio
.DataMember = ""
.Refresh
.Show
End With
Else
MsgBox "Não há registros neste período.", vbExclamation
txtDataInicial.SetFocus
End If
Caso alguém consiga enxergar algo que eu não esteja vendo e puder me ajudar....ficarei muito grato
Pergunta
Gabriel Cabral
Olá pessoal....
Estou criando um relatório de contas a pagar entre datas....estou com um problema nessas datas e não tenho a mínima ideia do q esteja acontecendo....
Em um form, o usuario determina a datainicial e datafinal para gerar o relatorio..
Considerando que a tabela de contas tenha dois registros....Estes registros possuem, respectivamente, os valores 05/03/08 e 10/04/08 no campo Con_Venc [campo que guarda o vencimento da conta].
Abaixo seguem uns exemplos de como está funcionando esta geração de relatório...
*Se eu coloco DataInicial = 01/03/08 e DataFinal = 02/03/08 ou 03/03/08 ou 04/03/08...O RELATÓRIO MOSTRA O REGISTRO DA DATA 05/03/08.
*Se eu coloco DataInicial = 01/03/08 e DataFinal = 05/03/08 até 29/03/08...O RELATÓRIO MOSTRA OS DOIS REGISTROS...O DA DATA 05/03/08 E O DA DATA 10/04/08.
*Se eu coloco DataInicial = 01/03/08 e DataFinal = 30/03/08 até 03/04/08...DIZ QUE NÃO HÁ REGISTROS NESSAS CONDIÇÕES.
*Se eu coloco DataInicial = 01/03/08 e DataFinal = 04/04/08 até 29/04/08...O RELATÓRIO MOSTRA OS DOIS REGISTROS...O DA DATA 05/03/08 E O DA DATA 10/04/08.
E assim por diante com os outros meses....
Abaixo está o código de como estou fazendo o SELECT com BETWEEN...
Caso alguém consiga enxergar algo que eu não esteja vendo e puder me ajudar....ficarei muito grato
Editado por Gabriel CabralLink para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.