none
If Then End If com date RRS feed

  • 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 If

        End 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

    terça-feira, 25 de setembro de 2012 14:41

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?

    terça-feira, 25 de setembro de 2012 20:20
  • É isso que precisa?

    Now.Date.AddDays(10)

    Att.,

    Jeimes

    "Caso a resposta seja útil, marque como resposta."

    quarta-feira, 26 de setembro de 2012 00:03
  • 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.

    quarta-feira, 26 de setembro de 2012 00:18
  • 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.Page

        Protected 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
    quarta-feira, 26 de setembro de 2012 12:28
  • 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

    sexta-feira, 28 de setembro de 2012 13:56