none
Select com filtro para somar valores onde as datas são inferiores a atual RRS feed

  • Pergunta

  • Estou precisando elaborar códigos para um select no banco access onde preciso filtrar as datas anteriores a um dia selecionado no "DateTimePicker" e com isso somar os valores de outra coluna.

    Alguém sabe me orientar. Fiz da forma abaixo e consegui apurar somente a soma das datas diferentes, mas isso implica na soma dos valores das datas posteriores a selecionada. Não da certo.

     Dim oConn As New OleDbConnection
            Dim StrData As String = "DD/MM/YYYY"
            StrData = DtpData.Value.ToShortDateString

            oConn.ConnectionString = My.Settings.GI_IMAIPConnectionString

            Dim VlrDin As Object
            Dim oComm As New OleDbCommand("SELECT sum(VALOR_HOSP) FROM CAD_PE_CE_CI WHERE DATA <> " + StrData + "", oConn)

     VlrDin = oComm.ExecuteScalar().ToString

    If VlrDin Is "" Then
                VlrDin = 00.00
            End If

    oConn.Close()

    sexta-feira, 11 de outubro de 2019 19:54

Respostas

  • Consegui a solução, é simples, vou registrar aqui para no caso de alguém precisar

                            

           Dim oConn As New OleDbConnection

            Dim StrData As String
            StrData = DtpData.Value.ToString

            oConn.ConnectionString = My.Settings.GI_IMAIPConnectionString

            Dim VlrDin As Object
            Dim oComm As New OleDbCommand("SELECT sum(VALOR_HOSP) FROM CAD_PE_CE_CI WHERE                dateValue(DATA) <DateValue('" & StrData & "')", oConn)

            oConn.Open()
            VlrDin = oComm.ExecuteScalar().ToString 

            IF VlrDin Is "" Then
            VlrDin = 00.00
            End If

            oConn.Close()
            

            "Variável" = cdbl(Vlrdin)

    • Marcado como Resposta RCVIDIGAL sexta-feira, 11 de outubro de 2019 22:25
    • Não Marcado como Resposta RCVIDIGAL sábado, 12 de outubro de 2019 19:04
    • Editado RCVIDIGAL sábado, 12 de outubro de 2019 19:12
    • Marcado como Resposta IgorFKModerator segunda-feira, 14 de outubro de 2019 13:33
    sexta-feira, 11 de outubro de 2019 22:24

Todas as Respostas

  • Consegui a solução, é simples, vou registrar aqui para no caso de alguém precisar

                            

           Dim oConn As New OleDbConnection

            Dim StrData As String
            StrData = DtpData.Value.ToString

            oConn.ConnectionString = My.Settings.GI_IMAIPConnectionString

            Dim VlrDin As Object
            Dim oComm As New OleDbCommand("SELECT sum(VALOR_HOSP) FROM CAD_PE_CE_CI WHERE                dateValue(DATA) <DateValue('" & StrData & "')", oConn)

            oConn.Open()
            VlrDin = oComm.ExecuteScalar().ToString 

            IF VlrDin Is "" Then
            VlrDin = 00.00
            End If

            oConn.Close()
            

            "Variável" = cdbl(Vlrdin)

    • Marcado como Resposta RCVIDIGAL sexta-feira, 11 de outubro de 2019 22:25
    • Não Marcado como Resposta RCVIDIGAL sábado, 12 de outubro de 2019 19:04
    • Editado RCVIDIGAL sábado, 12 de outubro de 2019 19:12
    • Marcado como Resposta IgorFKModerator segunda-feira, 14 de outubro de 2019 13:33
    sexta-feira, 11 de outubro de 2019 22:24
  • Muito obrigado pela contribuição, RCVIDIGAL!!


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 14 de outubro de 2019 13:34
    Moderador