GRAVA 1000000.00 E EXIBE 1.000.000,00 LISTVIEW

MILTONSILVA94 18/07/2016 19:59:10
#464908
Gostaria de saber como faço o seguinte:
Formulário de insert no banco gravo o campo [ô]valor[ô] -> Replace(Replace(txtValor.Text, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô]); OK
* Como faço para exibir no listview no formato daí [ô]1000000.00[ô] sendo que está assim:
lItem.SubItems(7) = lTBAgendamentos.Fields([Ô]valor[Ô]).Value
JABA 18/07/2016 20:10:30
#464910
Resposta escolhida
Isso acontece porque os seus TextBoxs estão configurados com o formato de moeda brasileiro. Vá nas propriedades do TextBox e encontre o DataFormat. Clique nele e escolha o formato [Ô]Currency[Ô]. Você pode também modificar o país de origem aí também.
MILTONSILVA94 18/07/2016 20:21:25
#464912
No campo de texto está conforme deve ser -> 1.000.000,00
Quando salva no banco ele salva no formato 1000000.00
Porém para exibir do listview ele precisa vir novamente como -> 1.000.000,00 e é isso que está faltando só...
LEANDROVIP 18/07/2016 20:34:06
#464914
Boa noite,

Colocando um [ô]Format[ô] não resolveria?

Algo como,

lItem.SubItems(7) = Format(lTBAgendamentos.Fields([Ô]valor[Ô]).Value, [Ô]###,##0.00[Ô]) 


[]'s
MILTONSILVA94 18/07/2016 21:46:18
#464919


Citação:

:
Boa noite,

Colocando um [ô]Format[ô] não resolveria?

Algo como,

lItem.SubItems(7) = Format(lTBAgendamentos.Fields([Ô]valor[Ô]).Value, [Ô]###,##0.00[Ô]) 


[]'s




LEANDROBTOS,

testei e não deu certo, pois daí quando eu salvo 2.000,00 no listview ele retorna sempre com (dois zeros a mais) 200.000,00...
JABA 18/07/2016 22:55:59
#464927
lItem.SubItems(7) = Replace(lTBAgendamentos.Fields([Ô]valor[Ô]).Value, [Ô].[Ô], [Ô],[Ô])
MILTONSILVA94 18/07/2016 23:45:49
#464928
Citação:

:

lItem.SubItems(7) = Replace(lTBAgendamentos.Fields([Ô]valor[Ô]).Value, [Ô].[Ô], [Ô],[Ô])



Ocorre este erro, pois daí ele substitui o ponto e coloca vírgula...
JABA 19/07/2016 00:51:43
#464929
Testa assim:

lItem.SubItems(7) = formatarMoeda(lTBAgendamentos.Fields([Ô]valor[Ô]).Value)

Function formatarMoeda(valor As String) As String

Dim x As String
Dim v As String
Dim i As Integer

x = StrReverse(valor)

For i = 1 To Len(x)

If Mid(x, i, 1) <> [Ô].[Ô] Then
v = v & Mid(x, i, 1)
Else
v = v & [Ô],[Ô] & Mid(x, i+1, Len(valor) - 1)
Exit For
End If
Next

formatarMoeda = StrReverse(v)

End Function

ALVAROVB2009 19/07/2016 09:12:16
#464930
Qual é o seu banco de dados?
Acredito que deva ser o Access, ele tem essas frescuras

Aqui segue o meu comando para atualizar um valor no Access, repare que uso a aspa simples + ccur, funciona show, dessa forma não precisa do replace
StrSql = [Ô]Update tbtabelainss set valorinicial = [ô][Ô] & CCur(TxtValorInicial.Text) & [Ô][ô],valorfinal = [ô][Ô] & CCur(TxtValorFinal.Text) & [Ô][ô],aliquota = [ô][Ô] & CCur(TxtAliquota.Text) & [Ô][ô] where codlancamento = [Ô] & val(LblCodIRRF.Caption)

Dessa formar quando manda colocar no grid, ele ja vai com a formatação quase que correta, basta colocar o Format(Rs!Valor, [Ô]###,###,##0.00[Ô]) ou tem o Formatnumber também

Más de uma olhada que o seu campo na tabela tenha que esta com o formato Double(melhor) e/ou currency

Se for o mysql a formatação para salvar ele é assim
tabela!valor = Replace(Replace(Valor, [Ô].[Ô], [Ô][Ô]), [Ô],[Ô], [Ô].[Ô])


Qqer coisa posta ai
JCM0867 19/07/2016 09:42:40
#464934
No VB.NET e SQL Server
E o formato no banco eu uso Numeric

Em um campo em faço assim:
txtTbvValor.Text = CSng(txtTbvValor.Text).ToString([Ô]#,##0.00[Ô])

Em um databrid eu faço assim:
dgvTabelaValores.Columns(4).DefaultCellStyle.Format = [Ô]#,##0.00[Ô]

_____________________________________________
[txt-color=#0000f0]Precisando de um Sistema de Gestão Educacional?[/txt-color]
Desenvolvido em VB.NET + SQL Server + Crystal Reports
Conheça nossa Solução: www.cjsystem.com.br
MILTONSILVA94 19/07/2016 16:48:27
#464948
Citação:

:
Testa assim:

lItem.SubItems(7) = formatarMoeda(lTBAgendamentos.Fields([Ô]valor[Ô]).Value)

Function formatarMoeda(valor As String) As String

Dim x As String
Dim v As String
Dim i As Integer

x = StrReverse(valor)

For i = 1 To Len(x)

If Mid(x, i, 1) <> [Ô].[Ô] Then
v = v & Mid(x, i, 1)
Else
v = v & [Ô],[Ô] & Mid(x, i+1, Len(valor) - 1)
Exit For
End If
Next

formatarMoeda = StrReverse(v)

End Function




Da sua forma deu certo JABA, obrigado.


Mais tarde vou responder aos outros envolvidos neste tópico...
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas