FORMATAR CAMPO DATA NO VISUAL BASIC 6.0
Pessoal,
Boa tarde!
Por favor, a empresa em qual trabalho teve seu principal desenvovedor desligado por motivos de saúde, porém, utilizamos um sistema todo escrito em VB 6.0. Por hora, estou assumindo o lugar do mesmo até a contratação de outro profissional, e, preciso mudar uma aplicação do nosso ERP para que faça a seguinte leitura.
Preciso formatar um campo data onde ele apareça da seguinte forma, dd/mm/yy, onde:
dd: Dias sem 0 na frente. Exemplo: 07 -> 7
mm: Mês, porém sem o 0 na frente, assim como o dia
yy: Somente os últimos 2 dÃgitos do ano, por exeplo: 2015 -> 15
O banco utilizado é Access mas foi gerado aplicação VisData que vem junto com o VB6.
Abaixo segue parte do código onde preciso fazer com o código leia os registros no banco que estão no formato acima para que possa fazer a inclusão do detalhe na conta do cliente.
Private Sub txtcodigo_KeyPress(KeyAscii As Integer)
Dim mdatainicio As Date
Dim mdatafim As Date
If KeyAscii = 13 Then
Select Case mfechamento
Case Is = [Ô]QUARTOS[Ô]
[ô]pesquisa quarto para fechamento
Tquarto.Index = [Ô]Idxnquarto[Ô]
Tquarto.Seek [Ô]=[Ô], txtcodigo
If Tquarto.NoMatch Then
MsgBox [Ô]Quarto não cadastrado. Verifique.[Ô], vbCritical, [Ô]Pesquisa de Quartos[Ô]
txtcodigo.SetFocus
Exit Sub
Else
If Tquarto([Ô]datainicio[Ô]) = [Ô][Ô] Then
MsgBox [Ô]Quarto não está reservado.[Ô], vbCritical, [Ô]Reserva de quartos.[Ô]
txtcodigo.SetFocus
Exit Sub
Else
mdatainicio = Tquarto([Ô]datainicio[Ô])
xdatainicio = Tquarto([Ô]datainicio[Ô])
mdatafim = Tquarto([Ô]datafim[Ô])
xdatafim = Tquarto([Ô]datafim[Ô])
mcdias = Tquarto([Ô]qtdedias[Ô])
txtdescricao = [Ô]Descrição: [Ô] & Tquarto([Ô]descricao[Ô]) & vbNewLine & [Ô]Data InÃcio: [Ô] & mdatainicio & vbNewLine _
& [Ô]Data Final: [Ô] & mdatafim & vbNewLine & [Ô]Qtde de dias: [Ô] & mcdias
End If
End If
[ô]pesquisa consumo
Tconsumo.Index = [Ô]idxconsumo[Ô]
Tconsumo.Seek [Ô]=[Ô], txtcodigo, mdatainicio
mtotal = 0
txtdescricao = txtdescricao & vbNewLine
txtdescricao = txtdescricao + [Ô]------------------ CONSUMO ---------------------[Ô] & vbNewLine
txtdescricao = txtdescricao & [Ô]Produto[Ô] & Space(5) & [Ô]Descrição Produto[Ô] & Space(20) & [Ô]Quantidade[Ô] & Space(15) & _
[Ô]Valor Unitário[Ô] & Space(20) & [Ô]Valor Total[Ô] & vbNewLine
Do While mdatainicio <= mdatafim
Tconsumo.Index = [Ô]idxconsumo[Ô]
Tconsumo.Seek [Ô]=[Ô], txtcodigo, mdatainicio
If Tconsumo.NoMatch Then
Else
mvalor = Tconsumo([Ô]valor[Ô])
mtotal = mtotal + mvalor
mprod = Tconsumo([Ô]idproduto[Ô])
Tproduto.Index = [Ô]Idxproduto[Ô]
Tproduto.Seek [Ô]=[Ô], mprod
mvrunit = Format(Tproduto([Ô]valorvenda[Ô]), [Ô]#0.00[Ô])
txtdescricao = txtdescricao & mprod & Space(15) & Tproduto([Ô]descricao[Ô]) & Space(41) & Tconsumo([Ô]qtde[Ô]) & Space(33) & _
mvrunit & Space(31) & Format(mvalor, [Ô]#0.00[Ô]) & vbNewLine
Tconsumo.MoveNext
mdatainicio = mdatainicio + 1
End If
mdatainicio = mdatainicio + 1
Loop
[ô]pesquisa reserva de quartos
Treserva.Index = [Ô]idxdatareserva[Ô]
Treserva.Seek [Ô]=[Ô], txtcodigo, xdatainicio, xdatafim
If Treserva.NoMatch Then
MsgBox [Ô]Reserva não encontrada para este quarto.[Ô], vbInformation, [Ô]Pesquisa de Reservas[Ô]
Else
mvrreserva = Treserva([Ô]valortotaldia[Ô])
mformareserva = Treserva([Ô]formareserva[Ô])
mhospedef = Treserva([Ô]IDHOSPEDE[Ô])
midreserva = Treserva([Ô]idreserva[Ô])
mencerrada = Treserva([Ô]encerrada[Ô])
mvalortotal = mvalor + mvrreserva
End If
If mencerrada = [Ô]S[Ô] Then
MsgBox [Ô]Esta reserva está encerrada.[Ô], vbCritical, [Ô]Pesquisa de reservas[Ô]
Exit Sub
Else
Label2 = [Ô]Vr. Total Reserva : [Ô] & Format(mvrreserva, [Ô]##,###0.00[Ô]) & vbNewLine & _
[Ô]Vr. Total Consumo: [Ô] & Format(mvalor, [Ô]##,###0.00[Ô]) & vbNewLine & _
[Ô]Vr. Total Estadia : [Ô] & Format(mvalortotal, [Ô]##,###0.00[Ô])
End If
Case Is = [Ô]EVENTO[Ô]
[ô]pesquisa reserva de evento
Treserva.Index = [Ô]idxreserva[Ô]
Treserva.Seek [Ô]=[Ô], txtcodigo
If Treserva.NoMatch Then
MsgBox [Ô]Reserva não encontrada.[Ô], vbInformation, [Ô]Pesquisa de Reservas[Ô]
Else
mvrreserva = Treserva([Ô]valortotaldia[Ô])
midreserva = Treserva([Ô]idreserva[Ô])
mencerrada = Treserva([Ô]encerrada[Ô])
mvalortotal = mvrreserva
End If
If mencerrada = [Ô]S[Ô] Then
MsgBox [Ô]Este evento está encerrado.[Ô], vbCritical, [Ô]Pesquisa de reservas[Ô]
Exit Sub
Else
Label2 = [Ô]Vr. Total Reserva : [Ô] & Format(mvrreserva, [Ô]##,###0.00[Ô]) & vbNewLine & _
[Ô]Vr. Total Evento : [Ô] & Format(mvalortotal, [Ô]##,###0.00[Ô])
End If
Case Is = [Ô]PRODUTO[Ô]
[ô]pesquisa produtos
Tproduto.Index = [Ô]Idxproduto[Ô]
Tproduto.Seek [Ô]=[Ô], txtcodigo
If Tproduto.NoMatch Then
MsgBox [Ô]Produto não cadastrado.[Ô], vbCritical, [Ô]Pesquisa de Produtos[Ô]
txtcodigo.SetFocus
Exit Sub
Else
Label8 = Tproduto([Ô]descricao[Ô])
mvrunitario = Tproduto([Ô]valorvenda[Ô])
mimagem = Tproduto([Ô]imagem[Ô])
[ô] If Not file & [Ô]mimagem[Ô] Then
[ô] pictproduto.Picture = Nothing
[ô] Else
[ô] pictproduto.Picture = LoadPicture(mimagem)
[ô] End If
txtqtde.Enabled = True
txtvalorunitario.Enabled = True
txtvalorunitario = Format(mvrunitario, [Ô]currency[Ô])
txtqtde.SetFocus
End If
End Select
End If
End Sub
Boa tarde!
Por favor, a empresa em qual trabalho teve seu principal desenvovedor desligado por motivos de saúde, porém, utilizamos um sistema todo escrito em VB 6.0. Por hora, estou assumindo o lugar do mesmo até a contratação de outro profissional, e, preciso mudar uma aplicação do nosso ERP para que faça a seguinte leitura.
Preciso formatar um campo data onde ele apareça da seguinte forma, dd/mm/yy, onde:
dd: Dias sem 0 na frente. Exemplo: 07 -> 7
mm: Mês, porém sem o 0 na frente, assim como o dia
yy: Somente os últimos 2 dÃgitos do ano, por exeplo: 2015 -> 15
O banco utilizado é Access mas foi gerado aplicação VisData que vem junto com o VB6.
Abaixo segue parte do código onde preciso fazer com o código leia os registros no banco que estão no formato acima para que possa fazer a inclusão do detalhe na conta do cliente.
Private Sub txtcodigo_KeyPress(KeyAscii As Integer)
Dim mdatainicio As Date
Dim mdatafim As Date
If KeyAscii = 13 Then
Select Case mfechamento
Case Is = [Ô]QUARTOS[Ô]
[ô]pesquisa quarto para fechamento
Tquarto.Index = [Ô]Idxnquarto[Ô]
Tquarto.Seek [Ô]=[Ô], txtcodigo
If Tquarto.NoMatch Then
MsgBox [Ô]Quarto não cadastrado. Verifique.[Ô], vbCritical, [Ô]Pesquisa de Quartos[Ô]
txtcodigo.SetFocus
Exit Sub
Else
If Tquarto([Ô]datainicio[Ô]) = [Ô][Ô] Then
MsgBox [Ô]Quarto não está reservado.[Ô], vbCritical, [Ô]Reserva de quartos.[Ô]
txtcodigo.SetFocus
Exit Sub
Else
mdatainicio = Tquarto([Ô]datainicio[Ô])
xdatainicio = Tquarto([Ô]datainicio[Ô])
mdatafim = Tquarto([Ô]datafim[Ô])
xdatafim = Tquarto([Ô]datafim[Ô])
mcdias = Tquarto([Ô]qtdedias[Ô])
txtdescricao = [Ô]Descrição: [Ô] & Tquarto([Ô]descricao[Ô]) & vbNewLine & [Ô]Data InÃcio: [Ô] & mdatainicio & vbNewLine _
& [Ô]Data Final: [Ô] & mdatafim & vbNewLine & [Ô]Qtde de dias: [Ô] & mcdias
End If
End If
[ô]pesquisa consumo
Tconsumo.Index = [Ô]idxconsumo[Ô]
Tconsumo.Seek [Ô]=[Ô], txtcodigo, mdatainicio
mtotal = 0
txtdescricao = txtdescricao & vbNewLine
txtdescricao = txtdescricao + [Ô]------------------ CONSUMO ---------------------[Ô] & vbNewLine
txtdescricao = txtdescricao & [Ô]Produto[Ô] & Space(5) & [Ô]Descrição Produto[Ô] & Space(20) & [Ô]Quantidade[Ô] & Space(15) & _
[Ô]Valor Unitário[Ô] & Space(20) & [Ô]Valor Total[Ô] & vbNewLine
Do While mdatainicio <= mdatafim
Tconsumo.Index = [Ô]idxconsumo[Ô]
Tconsumo.Seek [Ô]=[Ô], txtcodigo, mdatainicio
If Tconsumo.NoMatch Then
Else
mvalor = Tconsumo([Ô]valor[Ô])
mtotal = mtotal + mvalor
mprod = Tconsumo([Ô]idproduto[Ô])
Tproduto.Index = [Ô]Idxproduto[Ô]
Tproduto.Seek [Ô]=[Ô], mprod
mvrunit = Format(Tproduto([Ô]valorvenda[Ô]), [Ô]#0.00[Ô])
txtdescricao = txtdescricao & mprod & Space(15) & Tproduto([Ô]descricao[Ô]) & Space(41) & Tconsumo([Ô]qtde[Ô]) & Space(33) & _
mvrunit & Space(31) & Format(mvalor, [Ô]#0.00[Ô]) & vbNewLine
Tconsumo.MoveNext
mdatainicio = mdatainicio + 1
End If
mdatainicio = mdatainicio + 1
Loop
[ô]pesquisa reserva de quartos
Treserva.Index = [Ô]idxdatareserva[Ô]
Treserva.Seek [Ô]=[Ô], txtcodigo, xdatainicio, xdatafim
If Treserva.NoMatch Then
MsgBox [Ô]Reserva não encontrada para este quarto.[Ô], vbInformation, [Ô]Pesquisa de Reservas[Ô]
Else
mvrreserva = Treserva([Ô]valortotaldia[Ô])
mformareserva = Treserva([Ô]formareserva[Ô])
mhospedef = Treserva([Ô]IDHOSPEDE[Ô])
midreserva = Treserva([Ô]idreserva[Ô])
mencerrada = Treserva([Ô]encerrada[Ô])
mvalortotal = mvalor + mvrreserva
End If
If mencerrada = [Ô]S[Ô] Then
MsgBox [Ô]Esta reserva está encerrada.[Ô], vbCritical, [Ô]Pesquisa de reservas[Ô]
Exit Sub
Else
Label2 = [Ô]Vr. Total Reserva : [Ô] & Format(mvrreserva, [Ô]##,###0.00[Ô]) & vbNewLine & _
[Ô]Vr. Total Consumo: [Ô] & Format(mvalor, [Ô]##,###0.00[Ô]) & vbNewLine & _
[Ô]Vr. Total Estadia : [Ô] & Format(mvalortotal, [Ô]##,###0.00[Ô])
End If
Case Is = [Ô]EVENTO[Ô]
[ô]pesquisa reserva de evento
Treserva.Index = [Ô]idxreserva[Ô]
Treserva.Seek [Ô]=[Ô], txtcodigo
If Treserva.NoMatch Then
MsgBox [Ô]Reserva não encontrada.[Ô], vbInformation, [Ô]Pesquisa de Reservas[Ô]
Else
mvrreserva = Treserva([Ô]valortotaldia[Ô])
midreserva = Treserva([Ô]idreserva[Ô])
mencerrada = Treserva([Ô]encerrada[Ô])
mvalortotal = mvrreserva
End If
If mencerrada = [Ô]S[Ô] Then
MsgBox [Ô]Este evento está encerrado.[Ô], vbCritical, [Ô]Pesquisa de reservas[Ô]
Exit Sub
Else
Label2 = [Ô]Vr. Total Reserva : [Ô] & Format(mvrreserva, [Ô]##,###0.00[Ô]) & vbNewLine & _
[Ô]Vr. Total Evento : [Ô] & Format(mvalortotal, [Ô]##,###0.00[Ô])
End If
Case Is = [Ô]PRODUTO[Ô]
[ô]pesquisa produtos
Tproduto.Index = [Ô]Idxproduto[Ô]
Tproduto.Seek [Ô]=[Ô], txtcodigo
If Tproduto.NoMatch Then
MsgBox [Ô]Produto não cadastrado.[Ô], vbCritical, [Ô]Pesquisa de Produtos[Ô]
txtcodigo.SetFocus
Exit Sub
Else
Label8 = Tproduto([Ô]descricao[Ô])
mvrunitario = Tproduto([Ô]valorvenda[Ô])
mimagem = Tproduto([Ô]imagem[Ô])
[ô] If Not file & [Ô]mimagem[Ô] Then
[ô] pictproduto.Picture = Nothing
[ô] Else
[ô] pictproduto.Picture = LoadPicture(mimagem)
[ô] End If
txtqtde.Enabled = True
txtvalorunitario.Enabled = True
txtvalorunitario = Format(mvrunitario, [Ô]currency[Ô])
txtqtde.SetFocus
End If
End Select
End If
End Sub
CYBERMAC,
Rapidamente...
Tem duas formas de fazer:
======================================
Função [Ô]FORMAT[Ô]
Format Function
https://msdn.microsoft.com/en-us/library/59bz1f0h(v=vs.90).aspx
======================================
Função [Ô]FORMATDATETIME[Ô]
FormatDateTime Function (Visual Basic)
https://msdn.microsoft.com/en-us/library/a912f2a0(v=vs.90).aspx
======================================
Rapidamente...
Tem duas formas de fazer:
======================================
Função [Ô]FORMAT[Ô]
Format Function
https://msdn.microsoft.com/en-us/library/59bz1f0h(v=vs.90).aspx
Dim TestDateTime As Date = #1/27/2001 5:04:23 PM#
Dim TestStr As String
[ô] Returns current system time in the system-defined long time format.
TestStr = Format(Now(), [Ô]Long Time[Ô])
[ô] Returns current system date in the system-defined long date format.
TestStr = Format(Now(), [Ô]Long Date[Ô])
[ô] Also returns current system date in the system-defined long date
[ô] format, using the single letter code for the format.
TestStr = Format(Now(), [Ô]D[Ô])
[ô] Returns the value of TestDateTime in user-defined date/time formats.
[ô] Returns [Ô]5:4:23[Ô].
TestStr = Format(TestDateTime, [Ô]h:m:s[Ô])
[ô] Returns [Ô]05:04:23 PM[Ô].
TestStr = Format(TestDateTime, [Ô]hh:mm:ss tt[Ô])
[ô] Returns [Ô]Saturday, Jan 27 2001[Ô].
TestStr = Format(TestDateTime, [Ô]dddd, MMM d yyyy[Ô])
[ô] Returns [Ô]17:04:23[Ô].
TestStr = Format(TestDateTime, [Ô]HH:mm:ss[Ô])
[ô] Returns [Ô]23[Ô].
TestStr = Format(23)
[ô] User-defined numeric formats.
[ô] Returns [Ô]5,459.40[Ô].
TestStr = Format(5459.4, [Ô]##,##0.00[Ô])
[ô] Returns [Ô]334.90[Ô].
TestStr = Format(334.9, [Ô]###0.00[Ô])
[ô] Returns [Ô]500.00%[Ô].
TestStr = Format(5, [Ô]0.00%[Ô])
======================================
Função [Ô]FORMATDATETIME[Ô]
FormatDateTime Function (Visual Basic)
https://msdn.microsoft.com/en-us/library/a912f2a0(v=vs.90).aspx
[ô] English (US) format.
Dim TestDate As DateTime = #3/12/1999#
[ô] FormatDateTime returns [Ô]Friday, March 12, 1999[Ô].
[ô] The time information is neutral (00:00:00) and therefore suppressed.
Dim TestString As String = FormatDateTime(TestDate, DateFormat.LongDate)
======================================
Tópico encerrado , respostas não são mais permitidas