FAZER DIVISAO DE DOIS CAMPOS QUE PERTECEM A TAB...
pessoal preciso de uma ajuda.
bom, eu tenho em uma tela do meu sistema um mesflexgrid onde mostra alguns registros.
dentro desse grid existe uma coluna Objetivo e Nº de unidades. Em cada uma das colunas vão aparecer um valor número.
a pergunta é: como eu faço para dividir os dois valores dessas colunas e o resultado aparecer em porcentagem em uma coluna ao lado?
detalhe: o campo ojetivo pertence a uma tabela e o campo nº unidades pertence a outra tabela. como eu faço isso?
valeu
bom, eu tenho em uma tela do meu sistema um mesflexgrid onde mostra alguns registros.
dentro desse grid existe uma coluna Objetivo e Nº de unidades. Em cada uma das colunas vão aparecer um valor número.
a pergunta é: como eu faço para dividir os dois valores dessas colunas e o resultado aparecer em porcentagem em uma coluna ao lado?
detalhe: o campo ojetivo pertence a uma tabela e o campo nº unidades pertence a outra tabela. como eu faço isso?
valeu
Tente o seguinte...
dim aux1 as string
dim aux2 as string
dim aux3 as string
aux1 = grid.textmatrix(linha,coluna) 'Objetivo
aux2 = grid.textmatrix(linha,coluna) 'Nº de unidades
aux3 = ccur(aux1) / ccur(aux2)
aux3 = aux3 / 100
Té a próxima...
dim aux1 as string
dim aux2 as string
dim aux3 as string
aux1 = grid.textmatrix(linha,coluna) 'Objetivo
aux2 = grid.textmatrix(linha,coluna) 'Nº de unidades
aux3 = ccur(aux1) / ccur(aux2)
aux3 = aux3 / 100
Té a próxima...
cara, mais quando eu clicar no grid vai aparecer uma porrada de valores de objetivos e nº de unidades de difrentes produtos.
e o que é esse ccur?
como seria?
e o que é esse ccur?
como seria?
CCur significa: Converter para Currency, (moeda corrente)
CInt = converter para numero inteiro
CStr = converter para String
CDate = converter para Data
acho que é isso,
Aprendiz
essa divisão já consegui.
a divisão faço dessa forma:
Dim x As Integer
For x = 1 To MSFlexGrid1.Rows - 1
'With MSFlexGrid1
MSFlexGrid1.TextMatrix(x, 10) = Val(MSFlexGrid1.TextMatrix(x, 3) / Val(MSFlexGrid1.TextMatrix(x, 5)))
'End With
Next x
só que tem um probleminha.
a divisão seria 100/200 o resultado seria 0,5.
só que o resultado está sendo 0.
como eu faço para formatar esse número com duas casas após a vÃrgula?
valeu
a divisão faço dessa forma:
Dim x As Integer
For x = 1 To MSFlexGrid1.Rows - 1
'With MSFlexGrid1
MSFlexGrid1.TextMatrix(x, 10) = Val(MSFlexGrid1.TextMatrix(x, 3) / Val(MSFlexGrid1.TextMatrix(x, 5)))
'End With
Next x
só que tem um probleminha.
a divisão seria 100/200 o resultado seria 0,5.
só que o resultado está sendo 0.
como eu faço para formatar esse número com duas casas após a vÃrgula?
valeu
no código divisão:
Dim x As Integer
For x = 1 To MSFlexGrid1.Rows - 1
'With MSFlexGrid1
'Text1.Text = Format$(Text1.Text, "$###,##0.00;$ ###,##0.00;0;
\u\l\o")
MSFlexGrid1.TextMatrix(x, 10) = Val(MSFlexGrid1.TextMatrix(x, 3) / Val(MSFlexGrid1.TextMatrix(x, 5)))
MSFlexGrid1.TextMatrix(x, 10) = Format$(MSFlexGrid1.TextMatrix(x, 10), "$###,##0.00;$ ###,##0.00;0;
\u\l\o") ***
'End With
Next x
*** adcionei essa linha:
MSFlexGrid1.TextMatrix(x, 10) = Format$(MSFlexGrid1.TextMatrix(x, 10), "$###,##0.00;$ ###,##0.00;0;
\u\l\o") essa linha adicionei
mais ele não está formatando
como eu faço?
Dim x As Integer
For x = 1 To MSFlexGrid1.Rows - 1
'With MSFlexGrid1
'Text1.Text = Format$(Text1.Text, "$###,##0.00;$ ###,##0.00;0;
\u\l\o")
MSFlexGrid1.TextMatrix(x, 10) = Val(MSFlexGrid1.TextMatrix(x, 3) / Val(MSFlexGrid1.TextMatrix(x, 5)))
MSFlexGrid1.TextMatrix(x, 10) = Format$(MSFlexGrid1.TextMatrix(x, 10), "$###,##0.00;$ ###,##0.00;0;
\u\l\o") ***
'End With
Next x
*** adcionei essa linha:
MSFlexGrid1.TextMatrix(x, 10) = Format$(MSFlexGrid1.TextMatrix(x, 10), "$###,##0.00;$ ###,##0.00;0;
\u\l\o") essa linha adicionei
mais ele não está formatando
como eu faço?
cara fiz dessas duas formas:
MSFlexGrid1.TextMatrix(X, 10) = Format(MSFlexGrid1.TextMatrix(X, 10), "#,#0.00")
MSFlexGrid1.TextMatrix(X, 10) = FormatNumber(MSFlexGrid1.TextMatrix(X, 10), 2)
só que o resultado certo tem que ser 0,5 que é o 100/200. porém está dando 0.
depois que coloquei essas linhas acimas, até dá certo mais o resultado fica como 0,00, sendo que tem que ser 0,50.
porque?
como resolvo isso?
MSFlexGrid1.TextMatrix(X, 10) = Format(MSFlexGrid1.TextMatrix(X, 10), "#,#0.00")
MSFlexGrid1.TextMatrix(X, 10) = FormatNumber(MSFlexGrid1.TextMatrix(X, 10), 2)
só que o resultado certo tem que ser 0,5 que é o 100/200. porém está dando 0.
depois que coloquei essas linhas acimas, até dá certo mais o resultado fica como 0,00, sendo que tem que ser 0,50.
porque?
como resolvo isso?
pessoal consegui fazer aparecer o resultado correto.
usei o cdbl.
eu fiz a mesma coisaÂÂÂ'para uma outra coluna onde o resultado tem quer 0,66666666 e vai que vem da divisão de 10/150
só que o resultado está sendo 6,66666667E-02
olhem como fiz:
For y = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(y, 11) = CDbl(MSFlexGrid1.TextMatrix(y, 6) / CDbl(MSFlexGrid1.TextMatrix(y, 8)))
Next y
porque isso?
usei o cdbl.
eu fiz a mesma coisaÂÂÂ'para uma outra coluna onde o resultado tem quer 0,66666666 e vai que vem da divisão de 10/150
só que o resultado está sendo 6,66666667E-02
olhem como fiz:
For y = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(y, 11) = CDbl(MSFlexGrid1.TextMatrix(y, 6) / CDbl(MSFlexGrid1.TextMatrix(y, 8)))
Next y
porque isso?
e aà pessoal alguém alguma idéia porque dá esse erro?
e aà pessoal ninguém mesmo?
ninguém sabe porque dá esse erro?
ninguém sabe porque dá esse erro?
Tópico encerrado , respostas não são mais permitidas