Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Irenko

Percentual no FlexGrid

Recommended Posts

Na coluna 03 do FlexGrid carrego os valores para cada linha. Preciso calcular o percentual de cada linha e apresentar na coluna 04 do Grid. Esse calculo é feito pegando o valor da linha da coluna 03 e dividindo pelo valor destacado em um TextBox e apresentando na linha da coluna 04. Como faço isso? Por favor!!

 

Private Sub PreencheGrid()
GerarValores
Grid.Redraw = False
Grid.Rows = 1
Dim Row As Integer
Dim i
Set TbResumo = New ADODB.Recordset
If TbResumo.State = 1 Then TbResumo.Close
With TbResumo
	.CursorType = adOpenStatic
	.CursorLocation = adUseClient
	.LockType = adLockPessimistic
	.Source = "SELECT OS FROM Dados GROUP BY OS ORDER BY OS"
	.ActiveConnection = BancoSobra
	.Open

	If .BOF = True And .EOF = True Then Exit Sub
   
	Grid.Rows = .RecordCount + 1
	'Row = 0
	Do Until .EOF = True
		Row = Row + 1
		Grid.Col = 0
	   
		Grid.Row = Row
		Grid.TextMatrix(Row, 0) = !OS


Set TbCliente = New ADODB.Recordset
With TbCliente
	.CursorType = adOpenStatic
	.CursorLocation = adUseClient
	.LockType = adLockPessimistic
	.Source = "SELECT Cliente,Numero,Descricao FROM DadosCT WHERE Numero = '" & TbResumo("OS") & "' ORDER BY Cliente,Numero,Descricao"
	.ActiveConnection = BancoSobra
	.Open
Do Until .EOF = True
   Grid.TextMatrix(Row, 1) = !Cliente
   Grid.TextMatrix(Row, 2) = !Descricao



Set TbGasto = New ADODB.Recordset
With TbGasto
	.CursorType = adOpenStatic
	.CursorLocation = adUseClient
	.LockType = adLockPessimistic
	.Source = "SELECT Sum(Quant*Unit) AS Total FROM Dados WHERE OS = '" & TbCliente("Numero") & "'"
	.ActiveConnection = BancoSobra
	.Open
Do Until .EOF = True
   Grid.TextMatrix(Row, 3) = Format(!Total, "#,##0.00")

.MoveNext
Loop
End With


.MoveNext
Loop


End With

TbResumo.MoveNext
Loop
End With

Grid.Redraw = True
Grid.Row = 1
Grid.Row = Grid.FixedRows
Grid.TopRow = Grid.FixedRows
Grid.Row = Grid.TopRow
Grid.Col = 1
Grid.ColSel = Grid.Cols - 1
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho um Flex grid onde na coluna 03 carrego os valores. Em um TextBox tenho o valor total ex.: 15000,00.

 

Na coluna 04 tenho que carregar o percentual para cada valor da coluna 03, ou seja, o valor da linha da col 03 dividido pelo valor do TextBox. Estou fazendo assim:

 

Dim X As Integer
Dim total As Double
total = Text1
For X = 1 To Grid.Rows - 1
	   If Grid.TextMatrix(X, 4) = "" Then
	   Grid.TextMatrix(X, 4) = Grid.TextMatrix(X, 3) / total
	   End If
	Next

só q no meu calculo esta apresentando um valor muito doido, ex.:

1,76367753022812E-04

 

Onde estou errando e como faço essa rotina funcionar corretamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.