Inquiridor
If Then End If com date

Pergunta
-
Como criar um código para calcular a data de pagamento da despesa de acordo com o forma de pagamento escolhida e a data da despesa?
Em um WebForm tenho um DropDownList, um textbox e um label.
Eu preciso, por exemplo, ao selecionar o valor "1" do DropDownList e uma data no TextBox e retornar com o cálculo da data para pagamento em no label.
Estou tentando com o código abaixo, mas ainda patinando:
Protected Sub txtDataDespesa_TextChanged(sender As Object, e As EventArgs) Handles txtDataDespesa.TextChanged
vdata = txtDataDespesa.Text
vdata = lblDataPgto.Text
If ddlFormaPagto.SelectedValue = ("1") And txtDataDespesa.Text >= Day("10") Then
lblDataPgto.Text = .........
End IfEnd Sub
onde:txtDataDespesa = TextBox = data da compra
ddlFormaPagto = DropDownList = Forma pagamento
lblDataPagto = label = Data do pagamento = Data da Fatura
Como trabalhar com a projeção da data para pagamento da fatura, sendo que a fatura é fechada com 10 dias de antecedência ao vencimento que é todo o dia 10 de cada mes? Alguém tem alguma sugestão
Todas as Respostas
-
Na expressão "If txtDataDespesa.Text >= Day("10") Then"
Se a data da despesa for 25/09/2012 preciso que retorne para um label com a data 10/10/2012, assim como, para qualquer data maior ou igual ao dia 10.
label.text = .........
Que expressão posso usar para este retorno?
- Mesclado AndreAlvesLimaModerator quarta-feira, 26 de setembro de 2012 11:17 duplicado
-
-
Olá Jemes,
parece-me que não, pois assim estaria acrecentando 10 dias na data atual, seria isso?
O que estou tentando é calcular a data de pagamento de um cartão de crédito. No exemplo que mencionei uma despesa que foi realizada no dia 25/09/2012, o fechamento da fatura do cartão ocorre 10 dias antes do vencimento, que é todo dia 10.
Desculpe-me se não fiz entender.
-
Não sei se conseguiria o retorno que preciso com o código abaixo, a mensagem que me deparei foi a seguinte e na sequencia o código:
'System.Web.UI.WebControls.TextBox' no tipo 'System.IConvertible'.
Imports System.Data.OleDb
Imports System.Data.DataSet
Imports System.Web.UI.WebControls
Public Class financ
Inherits System.Web.UI.PageProtected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub txtDataDespesa_TextChanged(sender As Object, e As EventArgs) Handles txtDataDespesa.TextChanged
Dim vdata1 As Date
Dim vdata2 As Date
txtDataDespesa.Text = vdata1
lblDataPgto.Text = vdata2
Format([txtDataDespesa], "yyyy mm dd")
Format([lblDataPgto], "yyyy mm dd")
If ddlFormaPagto.SelectedValue = ("1") And txtDataDespesa.Text >= Day("10") Then
lblDataPgto.Text = DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text) + 1, 10)
End If
End Sub
End Class
- Editado Wilson Boris quarta-feira, 26 de setembro de 2012 12:36 correçao
-
Resolvido:
<asp:CalendarExtender ID="txtDataDespesa_CalendarExtender" runat="server"
TargetControlID="txtDataDespesa" Enabled="True" Format="dd/MM/yyyy">
</asp:CalendarExtender>Protected Sub txtDataDespesa_TextChanged(sender As Object, e As EventArgs) Handles txtDataDespesa.TextChanged
If ddlFormaPagto.SelectedValue = ("1") And DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), Day(txtDataDespesa.Text)) <= DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), 30) Then
lblDataPgto.Text = DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text) + 1, 10)
ElseIf ddlFormaPagto.SelectedValue = ("2") And DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), Day(txtDataDespesa.Text)) <= DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), 30) And DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), Day(txtDataDespesa.Text)) >= DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), 11) Then
lblDataPgto.Text = DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text) + 1, 20)
ElseIf ddlFormaPagto.SelectedValue = ("2") And DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), Day(txtDataDespesa.Text)) < DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), 11) Then
lblDataPgto.Text = DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), 20)
ElseIf ddlFormaPagto.SelectedValue = ("3") And DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), Day(txtDataDespesa.Text)) < DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text), 30) Then
lblDataPgto.Text = DateSerial(Year(txtDataDespesa.Text), Month(txtDataDespesa.Text) + 1, 5)
End If
End Sub