AJUDA RETIRAR MEDIA
amigo to criando um software que tira a media, tipo tem 5 textbox caso o usuario digite em apenas 3 textbox tem que tirar a media das 3, se ele digita em 4 tem que tirar das 4.
eu consigo fazer a media so se o usuario digita nas 5, se ele deixa uma em branco da erro.
eu consigo fazer a media so se o usuario digita nas 5, se ele deixa uma em branco da erro.
Faça isso através do IF..
Dim Media as Integer
If txtBox1.text = string.empty then
media=1
else if txtBox2.text=string.empty then
media=2
ETC.....
Dim Media as Integer
If txtBox1.text = string.empty then
media=1
else if txtBox2.text=string.empty then
media=2
ETC.....
Use duas varáiveis: Uma para ir somando os valores das caixas de texto e outra como um contador. Em seguida, vc vai testando os controles conforme o colega ALEVALE disse, e vai somando as o conteúdo nas variáveis (soma e contador) caso haja dados nos controles. No final, vc divide soma por contador e exibe onde vc quiser.
não conhecia esse comando [Ô] string.empty[Ô], vlw pela ajuda !!!
Olá,
Veja se esse código ajuda:
Espero ter ajudado. Fique com Deus.
Veja se esse código ajuda:
Dim total As Double
Dim qtd As Integer
qtd = IIf(Len(Text1.Text) > 0, 1, 0) + IIf(Len(Text2.Text) > 0, 1, 0) + IIf(Len(Text3.Text) > 0, 1, 0) + IIf(Len(Text4.Text) > 0, 1, 0) + IIf(Len(Text5.Text) > 0, 1, 0)
total = Val(Text1.Text) + Val(Text2.Text) + Val(Text3.Text) + Val(Text4.Text) + Val(Text5.Text)
If qtd = 0 Then qtd = 1
MsgBox total / qtd
Espero ter ajudado. Fique com Deus.
não deu certo, tipo da erro quando o campo ta vazio e o usuario manda calcular a media
Public Function GetMedia()
Dim i as Integer
Dim media as decimal
If txtBox1.text <> string.empty then
media = media + txtBox1.text
i=1
end if
if txtBox2.text <> string.empty then
media = media + txtBox2.text
i=2
end if
if txtBox3.text <> string.empty then
media = media + txtBox3.text
i=3
end if
if txtBox4.text <> string.empty then
media = media + txtBox4.text
i=4
end if
if txtBox5.text <> string.empty then
media = media + txtBox5.text
i=5
end if
Return media / i
End Function
Na hora de usar faça assim:
Msgbox(GetMedia())
Dim i as Integer
Dim media as decimal
If txtBox1.text <> string.empty then
media = media + txtBox1.text
i=1
end if
if txtBox2.text <> string.empty then
media = media + txtBox2.text
i=2
end if
if txtBox3.text <> string.empty then
media = media + txtBox3.text
i=3
end if
if txtBox4.text <> string.empty then
media = media + txtBox4.text
i=4
end if
if txtBox5.text <> string.empty then
media = media + txtBox5.text
i=5
end if
Return media / i
End Function
Na hora de usar faça assim:
Msgbox(GetMedia())
Ou voce pode fazer assim:
Public Function GetMedia(formulario As form)
dim media as decimal
dim c as integer
For Each controle As Control in formulario.Controls
if typeof controle is TextBox then
if controle.Text <> [Ô][Ô] then
media=media+controle.text
c=c+1
end if
end if
Next
return media / c
End Function
Na hora de usar faça assim:
Msgbox(GetMedia(PasseOseuFormAqui))
Public Function GetMedia(formulario As form)
dim media as decimal
dim c as integer
For Each controle As Control in formulario.Controls
if typeof controle is TextBox then
if controle.Text <> [Ô][Ô] then
media=media+controle.text
c=c+1
end if
end if
Next
return media / c
End Function
Na hora de usar faça assim:
Msgbox(GetMedia(PasseOseuFormAqui))
Faça seu login para responder