GRAVA 1000000.00 E EXIBE 1.000.000,00 LISTVIEW
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
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
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.
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ó...
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ó...
Boa noite,
Colocando um [ô]Format[ô] não resolveria?
Algo como,
[]'s
Colocando um [ô]Format[ô] não resolveria?
Algo como,
lItem.SubItems(7) = Format(lTBAgendamentos.Fields([Ô]valor[Ô]).Value, [Ô]###,##0.00[Ô])
[]'s
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...
lItem.SubItems(7) = Replace(lTBAgendamentos.Fields([Ô]valor[Ô]).Value, [Ô].[Ô], [Ô],[Ô])
Citação::
lItem.SubItems(7) = Replace(lTBAgendamentos.Fields([Ô]valor[Ô]).Value, [Ô].[Ô], [Ô],[Ô])
Ocorre este erro, pois daà ele substitui o ponto e coloca vÃrgula...
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
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
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
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
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
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...
Tópico encerrado , respostas não são mais permitidas