DATA VENCIDA E AVENCER

AMORIM 08/03/2016 11:54:58
#458793
Mais um vez estou aqui
Olha e o seguinte tenha uma tabela com varia data de vencimento
como eu faço para pegar as data de por exemplo
as datas que vence amanhã e depois de amanhã

07/03/2016
08/03/2015 se hoje e 08/03/2016 eu teria que pegar as data em vermelho
09/03/2016
09/03/2016
[txt-color=#e80000]10/03/2015
10/03/2016[/txt-color]
11/03/2016
11/03/2015
13/03/2016
13/03/2016
Somente a que vai vencer 2 ou 3 dias que não conseguir fazer
Private Sub PCalculaTotal()
Dim Vencida, VenceHoje, VencerAmanha, VencedepoisdeAmanha, result As Double
For Each linha As DataGridViewRow In dgvParcelado.Rows
Vencida = Vencida + linha.Cells([Ô]ValorParc[Ô]).Value
If linha.Cells([Ô]DataVenc[Ô]).Value.ToString < Date.Today() And linha.Cells([Ô]Quitada[Ô]).Value = [Ô]0[Ô] Then
Vencida = Vencida + linha.Cells([Ô]ValorParc[Ô]).Value
ElseIf linha.Cells([Ô]DataVenc[Ô]).Value.ToString = Date.Today() And linha.Cells([Ô]Quitada[Ô]).Value = [Ô]0[Ô] Then
VenceHoje = VenceHoje + linha.Cells([Ô]ValorParc[Ô]).Value
ElseIf linha.Cells([Ô]DataVenc[Ô]).Value.ToString > Date.Today() >= 2 And linha.Cells([Ô]Quitada[Ô]).Value = [Ô]0[Ô] Then
VencerAmanha = VencerAmanha + linha.Cells([Ô]ValorParc[Ô]).Value
ElseIf linha.Cells([Ô]DataVenc[Ô]).Value.ToString > Date.Today() And linha.Cells([Ô]Quitada[Ô]).Value = [Ô]0[Ô] Then
VencedepoisdeAmanha = VencedepoisdeAmanha + linha.Cells([Ô]ValorParc[Ô]).Value
End If
Next
txtVencida.Text = Format(Vencida, [Ô]##,##0.00[Ô])
txtVenceHoje.Text = Format(VenceHoje, [Ô]##,##0.00[Ô])
txtVenceAmanha.Text = Format(VencerAmanha, [Ô]##,##0.00[Ô])
txtVenceDepoisdeAmanha.Text =result [ô][ô]DateDiff(DateInterval.Day, dtini, dtfim)
End Sub
KERPLUNK 08/03/2016 12:19:16
#458796
Esse calculo se faz na query de consulta, não no grid.
SINCLAIR 08/03/2016 12:26:18
#458797
Amorim,

Bom dia!

Antes de responder tua pergunta, te peço duas coisas:

  • Informar o banco de dados que está usando, pois será parte da resposta.

  • Fechar ou dar continuidade com alguma informação ao tópico http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=451043&pagina=1, o qual tem mais de 6 meses, cuja última resposta foi dada também pelo colega KerPlunk (o mesmo que lhe deu uma dica acima).

  • AMORIM 08/03/2016 12:39:36
    #458802
    Microsoft Office Access
    PERCIFILHO 08/03/2016 12:39:41
    #458803
    Conforme o nosso amigo Kerplunk disse, essa consulta deve ser feita SEMPRE na query.
    Em exemplo para você ter uma idéia de como se adiciona dias numa variável do tipo data:

    Dim currentDate as DateTime
    [ô] Get the current date from the textbox
    currentDate = Convert.ToDate(textbox1.Text)
    [ô] Add three days
    currentDate = currentDate.AddDays(3)
    [ô] Write the date back to the textbox
    textBox1.Text = currentDate.ToString([Ô]dd/MM/yyyy[Ô])


    é só adaptar para a sua consulta.
    Espero ter ajudado.
    AMORIM 08/03/2016 12:50:50
    #458805
    Essa consulta que fiz no datagridview ela soma todos os valores separado por datas
    só não estou conseguindo pegar as datas com vencimento com 2 ou 3 dias antes do vencimento e assim por diante
    KERPLUNK 08/03/2016 13:21:49
    #458806
    Com soma, sem soma, não faz diferença, para buscar os dados você deve fazer na query. Para facilitar a soma, use OOP, com uma única linha você preenche o grid e com uma única linha você faz a soma, subtração, média, contagem, ou qualquer operação que queira.
    AMORIM 08/03/2016 15:40:21
    #458808
    Resolvido
    Olha com o ficou

    Private Sub PCalculaTotalArecebar()
    Dim agora As Date = Now.ToString([Ô]dd/MM/yyyy[Ô])
    Dim Vencida, VenceHoje, VencerAmanha, VencedepoisdeAmanha, result As Double
    For Each linha As DataGridViewRow In dgvParcelado.Rows
    If linha.Cells([Ô]DataVenc[Ô]).Value.ToString < Date.Today() And linha.Cells([Ô]Quitada[Ô]).Value = [Ô]0[Ô] Then
    Vencida = Vencida + linha.Cells([Ô]ValorParc[Ô]).Value
    txtVenceHoje.ForeColor = Color.Red
    ElseIf linha.Cells([Ô]DataVenc[Ô]).Value.ToString = Date.Today() And linha.Cells([Ô]Quitada[Ô]).Value = [Ô]0[Ô] Then
    VenceHoje = VenceHoje + linha.Cells([Ô]ValorParc[Ô]).Value
    txtVenceHoje.ForeColor = Color.Blue
    ElseIf linha.Cells([Ô]DataVenc[Ô]).Value.ToString = agora.AddDays(+1) And linha.Cells([Ô]Quitada[Ô]).Value = [Ô]0[Ô] Then
    VencerAmanha = VencerAmanha + linha.Cells([Ô]ValorParc[Ô]).Value
    ElseIf linha.Cells([Ô]DataVenc[Ô]).Value.ToString = agora.AddDays(+2) And linha.Cells([Ô]Quitada[Ô]).Value = [Ô]0[Ô] Then
    VencedepoisdeAmanha = VencedepoisdeAmanha + linha.Cells([Ô]ValorParc[Ô]).Value
    End If
    Next
    txtVencida.Text = Format(Vencida, [Ô]##,##0.00[Ô])
    txtVenceHoje.Text = Format(VenceHoje, [Ô]##,##0.00[Ô])
    txtVenceAmanha.Text = Format(VencerAmanha, [Ô]##,##0.00[Ô])
    txtVenceDepoisdeAmanha.Text = Format(VencedepoisdeAmanha, [Ô]##,##0.00[Ô])
    End Sub
    Tópico encerrado , respostas não são mais permitidas