DATA VENCIDA E AVENCER
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
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
Esse calculo se faz na query de consulta, não no grid.
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).
Bom dia!
Antes de responder tua pergunta, te peço duas coisas:
Microsoft Office Access
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:
é só adaptar para a sua consulta.
Espero ter ajudado.
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.
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
só não estou conseguindo pegar as datas com vencimento com 2 ou 3 dias antes do vencimento e assim por diante
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.
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
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