1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Datas

Discussão em 'Programação' iniciada por AndreVSerafim, 2 de Abril de 2009. (Respostas: 6; Visualizações: 646)

  1. AndreVSerafim

    AndreVSerafim Power Member

    Pessoal desta preciso mesmo de ajuda que hoje tou a fritar
    Como coloco a mostrar uma data 200904 por exemplo? É que so me aparece 20094 :s
    Isto no VB
     
  2. diog0silva

    diog0silva Power Member

    Não sei se é bem isto que queres.

    Criei um form com um DataTimePicker, uma TextBox e um Botão.

    Quando executo o form, escolho uma data no DataTimePicker e carrego no Botão, e ele mostra na TextBox aquilo que penso que queres.

    Código:
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] Button1_Click([/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] sender [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] System.Object, [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] e [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] System.EventArgs) [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Handles[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] Button1.Click[/COLOR]
     
    TextBox1.Text = Format([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]CDate[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](DateTimePicker1.Text), [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"yyyyMM"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])
    [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff][/COLOR][/SIZE][/COLOR][/SIZE] 
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][/COLOR][/SIZE]
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]
    [/COLOR][/SIZE][/COLOR][/SIZE]
     
  3. AndreVSerafim

    AndreVSerafim Power Member

    Obrigado entao e se tiver de recuar 6meses no actual?
    por exemplo tenho ((year(now))&(month(now))) queria recuar 6meses mas quando faço fica por exemplo 2009-02 lol como faço pa ficar 200810?
     
  4. diog0silva

    diog0silva Power Member

    Penso que seja isto que queres:

    Código:
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=white]Button1_Click([/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [COLOR=white]sender[/COLOR] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [COLOR=white]System.Object,[/COLOR] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [COLOR=white]e[/COLOR] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [COLOR=white]System.EventArgs)[/COLOR] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Handles[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=white]Button1.Click[/COLOR][/SIZE]
     
    [SIZE=2]TextBox1.Text = Format([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]CDate[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](DateTimePicker1.Text), [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"yyyyMM"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
     
    [SIZE=2]TextBox2.Text = Format(DateAdd(DateInterval.Month, -6, [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]CDate[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](DateTimePicker1.Text)), [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"yyyyMM"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
     
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][/COLOR][/SIZE]
    

    É a mesma coisa que no exemplo que dei antes, mas adicionei outra TextBox para aparecer a data escolhida - 6 meses.

    Ou seja, através da função DateAdd vais adicionar -6 meses à data que escolheres no DateTimePicker. Depois formatas a data que daí resulta no formato yyyyMM.
     
  5. AndreVSerafim

    AndreVSerafim Power Member

    Obrigado foi mais ou menos assim que eu fiz xD
    Código:
    [SIZE=2]
    ListaComboUQP((Trim(Year(DateAdd(DateInterval.Month, -6, Now)))) & (Format(Month(DateAdd(DateInterval.Month, -6, Now)), [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"00"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])), Trim(Year(Now)) & Format(Month(Now), [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"00"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]), CB_UQP)
    [/SIZE]

    Agora estou a usar uma datetimepicker e nao sei como capturar o valor dela para guardar numa base de dados para quando fizer loading aparecer a data que estava na base de dados e nao a actual que ele coloca por defeito :S

    Se alguem souber xD
     
  6. diog0silva

    diog0silva Power Member

    Supondo que tens uma tabela_x, com dois campos (codigocliente e datainscricao), tens de por uma coisa parecida no evento load do form:

    Código:
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [COLOR=white]ConnectionString[/COLOR] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]String[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#000000] [COLOR=white]=[/COLOR] [/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Data Source...."[/COLOR][/SIZE]
    [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] db [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] SqlConnection(ConnectionString)[/SIZE]
    [SIZE=2]db.Open()[/SIZE]
     
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] comandoSQL [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]String[/COLOR][/SIZE]
    [/COLOR][/SIZE][SIZE=2]comandoSQL = [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"SELECT * FROM tabela_x WHERE codigocliente = 1"[/COLOR][/SIZE][/COLOR][/SIZE]
    [SIZE=2][COLOR=#a31515] 
    [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] cmd [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] SqlCommand(comandoSQL, db)[/SIZE]
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff][/COLOR][/SIZE][/COLOR][/SIZE] 
    [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] reader [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] SqlDataReader[/SIZE]
    [SIZE=2]reader = cmd.ExecuteReader()[/SIZE]
    [SIZE=2]reader.Read()[/SIZE]
     
    [SIZE=2]DateTimePicker1.Text = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]CDate[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](reader.Item([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"datainscricao"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]))[/SIZE]
    [SIZE=2]db.Close()[/SIZE]
    
     
  7. AndreVSerafim

    AndreVSerafim Power Member

    É mais simples que isso ;)
    no sql ponho os campos como datatime e depois no VB faço assim para gravar
    Código:
    [SIZE=2]
    Desde = Format(DT_Desde.Value, [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"yyyy-MM-dd"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])
    Ate = Format(DT_Ate.Value, [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"yyyy-MM-dd"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])
    [/SIZE]
     

Partilhar esta Página