Ir para conteúdo
Fórum Script Brasil
  • 0

Qual o problema com essas datas?


Gabriel Cabral

Pergunta

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...

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

Editado por Gabriel Cabral
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Kuroi, yyyy/mm/dd não seria MySQL ? eu acho que o gabriel trabalha com access então sera mm/dd/yyyy

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 #" & format(txtDataInicial,"mm/dd/yyyy") & "# AND #" & format(txtDataFinal,"mm/dd/yyyy") & "# ORDER BY Con_Venc"
Set rs_relatorio = .Execute
End With

If Not rs_relatorio.EOF Then

rptConPData.Sections("Section2").Controls.Item("lblPeriodo").Caption = "Período de Referência: " & Format(txtDataInicial, "DD/MM/YYYY") & " a  " & Format(txtDataFinal, "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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...