SOMAR 15 TEXTBOX FORMATADOS COM FORMATCURRENCY
Boa tarde
Tenho 15 textbox formatados com formatcurrency
txt1cts.Text = FormatCurrency(txt1cts.Text)
até
txt15cts.Text = FormatCurrency(txt15cts.Text)
como consigo somar todos os valores para total.text
visual studio 2012 ( visual basic)
Tenho 15 textbox formatados com formatcurrency
txt1cts.Text = FormatCurrency(txt1cts.Text)
até
txt15cts.Text = FormatCurrency(txt15cts.Text)
como consigo somar todos os valores para total.text
visual studio 2012 ( visual basic)
Bom dia
podem ajudar a melhora a soma entre textbox
anexo exemplo
Obrigado
podem ajudar a melhora a soma entre textbox
anexo exemplo
Obrigado
Bom dia.
Primeiramente, por que tu não usa MaskedTextBox pra formatar? é melhor do que usar TextBox e ficar formatando ele.
Bom, vamos ao teu problema. Há diversas maneiras de resolvê-lo, mas optei pela seguinte:
-Altere a propriedade TAG dos textbox que devem ser somados para algum texto identificador. Exemplo: [Ô]somar[Ô]
-Na rotina ou botão de cálculo, faça a soma da seguinte forma:
Primeiramente, por que tu não usa MaskedTextBox pra formatar? é melhor do que usar TextBox e ficar formatando ele.
Bom, vamos ao teu problema. Há diversas maneiras de resolvê-lo, mas optei pela seguinte:
-Altere a propriedade TAG dos textbox que devem ser somados para algum texto identificador. Exemplo: [Ô]somar[Ô]
-Na rotina ou botão de cálculo, faça a soma da seguinte forma:
Dim dTotal As Double = 0
Dim dValor As Double = 0
[ô]
[ô]Esse For varrerá todos controles da tela
For Each c In Me.Controls
[ô]
[ô]Testa se o controle for do tipo [Ô]Textbox[Ô]
If c.GetType().Name = [Ô]TextBox[Ô] Then
[ô]
[ô]Testa o valor da propriedade Tag
[ô]Somente somará os que tiverem [Ô]somar[Ô] na propriedade Taf
If c.Tag = [Ô]somar[Ô] Then
[ô]
[ô]Variavel temporária para armazenar o valor do TextBox atual
dValor = 0
[ô]
[ô]Essa função serve para tentar converter uma string para double
[ô]Se não conseguir, ela retornará zero (0)
[ô]Criei a variável temporária antes pois a função não retorna um valor
[ô]Ela altera o valor da segunda variavel passada como parâmetro
Double.TryParse(c.Text, dValor)
[ô]
[ô]Armazena o total
dTotal = dTotal + dValor
[ô]
End If
[ô]
End If
[ô]
Next
[ô]
[ô]Mostra o total calculado
Label1.Text = dTotal.ToString()
Boa tarde
viva ASHKATCHUP não consigo que some está dificil
já fiz como me disseste mas não que somar na mesma
pode ajudar ?
Obrigado
viva ASHKATCHUP não consigo que some está dificil
já fiz como me disseste mas não que somar na mesma
pode ajudar ?
Obrigado
Cara, tu não entendeu o que eu falei no post anterior.
Tu somente deve colocar a tag [Ô]somar[Ô] nos TextBox que devem ser incluidos na soma.
No teu código, eu vi que tu também colocou essa tag no Textbox do total (TxtTotal)
Além disso, que problema tu está tendo? A soma está errada? Não mostra nada? Aparece um errp?
Eu tenho o Visual Studio 2008, então não consigo abrir o teu projeto...
Tu somente deve colocar a tag [Ô]somar[Ô] nos TextBox que devem ser incluidos na soma.
No teu código, eu vi que tu também colocou essa tag no Textbox do total (TxtTotal)
Além disso, que problema tu está tendo? A soma está errada? Não mostra nada? Aparece um errp?
Eu tenho o Visual Studio 2008, então não consigo abrir o teu projeto...
já consegui que faça a soma
o problema está na formatação das textbox
necessito que formate em euro
o problema está na formatação das textbox
necessito que formate em euro
Se colocar standard ( valor fica 0,01 ) soma
se colocar Currency ( valor fica 0,01 € ) Não soma
If txt1cts.Text <> [Ô][Ô] Then
txt1cts.Text = Format(txt1cts.Text, [Ô]Standard[Ô])
End If
If txt2cts.Text <> [Ô][Ô] Then
txt2cts.Text = Format(txt2cts.Text, [Ô]currency[Ô])
End If
Então, na hora de somar os valores dos textbox, retire o identificador da moeda.
é uma gambiarra, mas funciona
é uma gambiarra, mas funciona
Dim sTemp as String
[ô]
[ô]Essa variável temporária serve somente para guardar o texto do textbox sem o identificador da moeda
[ô]Se for em outra moeda, como dolar ou real, tem que mudar a linha abaixo
sTemp = c.Text.Replace([Ô]€[Ô],[Ô][Ô])
Double.TryParse(sTemp, dValor)
Valeu funcionou assim
Dim dTotal As Double = 0
Dim dValor As Double = 0
Dim sTemp As String
[ô]
For Each c In Me.Controls
[ô]
If c.GetType().Name = [Ô]TextBox[Ô] Then
sTemp = c.Text.Replace([Ô]€[Ô], [Ô][Ô])
[ô]Testa o valor da propriedade Tag
If c.Tag = [Ô]somar[Ô] Then
[ô]
dValor = 0
[ô]
Double.TryParse(c.Text, dValor)
Double.TryParse(sTemp, dValor)
[ô]Armazena o total
dTotal = dTotal + dValor
End If
[ô]
End If
[ô]
Next
[ô]
TxtTotal.Text = dTotal.ToString()
If TxtTotal.Text <> [Ô][Ô] Then
TxtTotal.Text = Format(TxtTotal.Text, [Ô]currency[Ô])
End If
Dim dTotal As Double = 0
Dim dValor As Double = 0
Dim sTemp As String
[ô]
For Each c In Me.Controls
[ô]
If c.GetType().Name = [Ô]TextBox[Ô] Then
sTemp = c.Text.Replace([Ô]€[Ô], [Ô][Ô])
[ô]Testa o valor da propriedade Tag
If c.Tag = [Ô]somar[Ô] Then
[ô]
dValor = 0
[ô]
Double.TryParse(c.Text, dValor)
Double.TryParse(sTemp, dValor)
[ô]Armazena o total
dTotal = dTotal + dValor
End If
[ô]
End If
[ô]
Next
[ô]
TxtTotal.Text = dTotal.ToString()
If TxtTotal.Text <> [Ô][Ô] Then
TxtTotal.Text = Format(TxtTotal.Text, [Ô]currency[Ô])
End If
Tópico encerrado , respostas não são mais permitidas