PROBLEMA AO CALCULAR NUMEROS DE DIFERENTES FORMS

VINICCIOS 17/03/2012 03:04:15
#397348
Olá, estou fazendo um programinha para a aula de PRC e não estou conseguindo fazer com que as variáveis de diferentes forms, sejam somadas em um form principal:

[Ô]Module Module1
Public Sub somar()
Dim resultadocomis As String
Dim resulprem As String
Dim resulvendas As String
Dim resulSal As String
Dim funcionario As String

resultadocomis = Janeiro.comi.Text + Fevereiro.com.Text + Março.comissa.Text
Trimestral.Label6.Text = resultadocomis

resulprem = 200 * 3
Trimestral.Label7.Text = resulprem

resulvendas = Janeiro.TextBox1.Text + Fevereiro.Vendi.Text + Março.vendas.Text
Trimestral.Label9.Text = resulvendas

resulSal = Janeiro.bru.Text + Fevereiro.sal.Text + Março.salb.Text

funcionario = Janeiro.TextBox1.Text



End Sub


End Module
[Ô]

Criei um módulo para somar tudo e depois chamar os resultados no form principal, só que o problema é que o que se somam, são os [Ô]_____________________________[Ô] ao invés dos valores digitados.

Alguém sabe como me ajudar?
ROBIU 17/03/2012 06:40:37
#397354
Você está tentando fazer cálculos com string! O operador (+) usado entre valores strings faz a concatenação dos valores e não a soma.
Ex:
Tipo String => [Ô]10[Ô] + [Ô]14[Ô] = [Ô]1014[Ô]
Tipo Numerico => 10 + 14 = 24

As propriedades Text das Textboxs são tipo strings. Para fazer cálculo, você previsa converter para um formato numeric ( CDec(), CDbl(), CInt(), Val(), etc)
resultadocomis = CDec(Janeiro.comi.Text) + CDbl(Fevereiro.com.Text) + CDbl(Março.comissa.Text)


é claro que as textboxs precisam tem valores numéricos armazenados como strings para ocorrer a conversão. Se o valor estiver vazio ou alfanumeric vai dá erro, então vai precisar validar os valores.

Já que está fazendo cálculos, troca o tipo das variáveis para um tipo numerico

Dim resultadocomis As Double
Dim resulprem As Double
Dim resulvendas As Double
Dim resulSal As Double
Dim funcionario As Double


VINICCIOS 17/03/2012 15:06:20
#397381
Então, tentei fazer o que você recomendou e não esta dando certo. Existem cinco formulários no meu programa, o mês de Janeiro, o de Fevereiro, o de Março, o Trimestral e o [Ô]inicial[Ô].
O programa não esta guardando os valores digitados nos três meses para depois somar no trimestral, ele tenta fazer a conta com os valores iniciais, que são [Ô]_________________________[Ô].
Como posso fazer para que, assim que os valores iniciais forem alterados, o programa os salve para realizar o cálculo trimestral mais tarde?
ROBIU 17/03/2012 15:22:28
#397382
Todos os forms estão abertos na hora de fazer o cálculo?
Você pode criar uma variável array pública em um módulo, para pegar o valor quando sair da textbox

Ex:

[ô]No Módulo:
Public ValorMes(1 To 12) As Double


E no LostFocus da Textbox


ValorMes(1) = Text1.Text
[ô]1 - Jan
2 - Fev
3 - Mar
.
.
.
12 - Dez


VINICCIOS 17/03/2012 15:45:37
#397383
Os Forms são fechados assim que [Ô]Processo[Ô] as informações, assim posso clicar em outro form e fazer a mesma coisa até chegar no trimestral. Mudaria alguma coisa?
Estou colocando no 4shared o programa para que você possa dar uma olhadinha e ver melhor onde estou errando, sou leigo nessa linguagem e não estou conseguindo explicar corretamente o que esta acontecendo.


http://www.4shared.com/zip/6bZnBtnK/Novo_a__Arquivo_ZIP_do_WinRAR.html
LVFIOROT 17/03/2012 21:18:19
#397396
estava a algum tempo estudando o o conceito de orientação a objeto e vb.net
com seu projeto coloquei em pratica.

nao resolve seu problema, mas e um exemplo de como fazer o que vc quer de outro forma!

LVFIOROT 17/03/2012 22:09:58
#397400
Melhorado, agora com a selecção do funcionario e do mesmo o mesmo troca os valores é e possivel updat!
VINICCIOS 17/03/2012 22:31:25
#397402
O seu ficou muito bom, mas infelizmente não estou entendo mais da metade dele e copiar e enviá-lo para o professor, não é uma opção :(
LVFIOROT 17/03/2012 23:00:42
#397404
hummmm e trabalho.....
VINICCIOS 17/03/2012 23:25:51
#397407
Uma atividade :(
Faço curso Técnico na Etec Lauro Gomes e toda semana tenho atividades de PRC para entregar. Problema é que o professor ensina algo simples e pede algo [Ô]grandioso[Ô] na hora da atividade ;-;
VINICCIOS 18/03/2012 01:34:05
#397412
Fiz de outra forma, uma diferente que a que o professor pediu, mas pelo menos vou ganhar um R ;-;.
Ao invés de criar um form inicial dando a opção de escolher qualquer um dos três meses e o Trimestral, criei um form com um botão chamado [Ô]Começar[Ô], e ao clicar nele, o form do mês de Janeiro ira aparecer, ao preencher os dados, bastara clicar no botão que leva até Fevereiro e por ai vai.

De todo modo, obrigado pela ajuda Robiu e LVFIOROT ^^
Tópico encerrado , respostas não são mais permitidas