FAZER DIVISAO DE DOIS CAMPOS QUE PERTECEM A TAB...

USUARIO.EXCLUIDOS 24/03/2005 13:37:30
#74685
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
RENATOBELETTI 24/03/2005 13:52:22
#74688
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...
USUARIO.EXCLUIDOS 24/03/2005 13:59:28
#74690
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?
USUARIO.EXCLUIDOS 24/03/2005 15:33:57
#74735



CCur significa: Converter para Currency, (moeda corrente)

CInt = converter para numero inteiro

CStr = converter para String

CDate = converter para Data


acho que é isso,
Aprendiz
USUARIO.EXCLUIDOS 28/03/2005 11:05:22
#75300
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
USUARIO.EXCLUIDOS 28/03/2005 11:25:08
#75302
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?
USUARIO.EXCLUIDOS 28/03/2005 13:00:24
#75321
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?
USUARIO.EXCLUIDOS 29/03/2005 10:22:42
#75533
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?
USUARIO.EXCLUIDOS 29/03/2005 16:26:52
#75606
e aí pessoal alguém alguma idéia porque dá esse erro?
USUARIO.EXCLUIDOS 31/03/2005 08:50:15
#75953
e aí pessoal ninguém mesmo?
ninguém sabe porque dá esse erro?
Tópico encerrado , respostas não são mais permitidas