Ordenar datos dentro del msflexgrid
Me gustaría poder ordenar unos datos numéricos que tengo en las celdas del msflexgrid.
Los datos son cifras económicas de los estados de la república Mexicana. La idea es esta " Tengo unas bases de datos que las jalo de excel, las llevo al msflexgrid para poder realizar operaciones entre ellas y así poder generar otras bases. El propósito de esto es que con los datos que son numéricos, los pueda ordenar de mayor a menor y de menor a mayor. Para ya después de haberlos ordenados; en el mapa de la división política de los estados de la República mexicana pueda iluminar al estado que se encuentra con la cifra más alta de un color por decir rojo intenso; con un color rojo no tan intenso al que tenga la cifra por debajo del primero y así sucesivamente. Hasta que el color del último, es decir con la menor cifra lo ilumine con un color rojo transparente o blanquizco.
Espero tu respuesta lo más pronto que puedas te envío un ejemplo como hago las operaciones y las vacío al msflexgrid.
Public Sub OPERACIONES()
Dim R, C As Integer
msfgBaseDatos.Refresh
Call estado
Call anual
C = msfgBaseDatos.Cols
R = msfgBaseDatos.Rows
msfgBaseDatos.Clear
ReDim RESULTADO(1 To R, 1 To C) As String
For h = añoi To añof
For j = edoi To edof
Select Case opera
Case "Suma"
RESULTADO(j, h) = Val(ARREGLO1(j, h)) + Val(ARREGLO2(j, h))
Case "Resta"
RESULTADO(j, h) = Val(ARREGLO1(j, h)) - Val(ARREGLO2(j, h))
Case "Multiplicación"
RESULTADO(j, h) = Val(ARREGLO1(j, h)) * Val(ARREGLO2(j, h))
Case "División"
If Val(ARREGLO2(j, h)) <> 0 Then
RESULTADO(j, h) = Val(ARREGLO1(j, h)) / Val(ARREGLO2(j, h))
Else
RESULTADO(j, h) = "indeterminado"
End If
End Select
msfgBaseDatos.Row = j
msfgBaseDatos.Col = h
msfgBaseDatos.Text = RESULTADO(j, h)
Next j
Next h
End Sub
Public Sub REALIZAOPERACION()
Dim sumav, sumah As Double
If opera = "Suma Vertical" Then
If entidad = "Nacional" Then
Call anual
sumav = 0
For h = añoi To añof
sumav = 0
For j = 1 To 32
sumav = sumav + Val(ARREGLO1(j, h))
msfgBaseDatos.Row = 33
msfgBaseDatos.Col = h
msfgBaseDatos.Text = sumav
Next j
Next h
End If
End If
If opera = "Suma Horizontal" Then
If fecha = "1980-2001" Then
Call estado
sumah = 0
For h = edoi To edof
sumah = 0
For j = 1 To 21
sumah = sumah + Val(ARREGLO1(h, j))
msfgBaseDatos.Row = h
msfgBaseDatos.Col = 41
msfgBaseDatos.Text = sumah
Next j
Next h
End If
End If
End Sub
Cualquier duda escríbeme aquí o ami e-mail [email protected] si gustas te envío el proyecto con las formas. ¿Me podrías mandar un ejemplo? Me es más fácil y claro. En espera de tu respuesta Berenice
Los datos son cifras económicas de los estados de la república Mexicana. La idea es esta " Tengo unas bases de datos que las jalo de excel, las llevo al msflexgrid para poder realizar operaciones entre ellas y así poder generar otras bases. El propósito de esto es que con los datos que son numéricos, los pueda ordenar de mayor a menor y de menor a mayor. Para ya después de haberlos ordenados; en el mapa de la división política de los estados de la República mexicana pueda iluminar al estado que se encuentra con la cifra más alta de un color por decir rojo intenso; con un color rojo no tan intenso al que tenga la cifra por debajo del primero y así sucesivamente. Hasta que el color del último, es decir con la menor cifra lo ilumine con un color rojo transparente o blanquizco.
Espero tu respuesta lo más pronto que puedas te envío un ejemplo como hago las operaciones y las vacío al msflexgrid.
Public Sub OPERACIONES()
Dim R, C As Integer
msfgBaseDatos.Refresh
Call estado
Call anual
C = msfgBaseDatos.Cols
R = msfgBaseDatos.Rows
msfgBaseDatos.Clear
ReDim RESULTADO(1 To R, 1 To C) As String
For h = añoi To añof
For j = edoi To edof
Select Case opera
Case "Suma"
RESULTADO(j, h) = Val(ARREGLO1(j, h)) + Val(ARREGLO2(j, h))
Case "Resta"
RESULTADO(j, h) = Val(ARREGLO1(j, h)) - Val(ARREGLO2(j, h))
Case "Multiplicación"
RESULTADO(j, h) = Val(ARREGLO1(j, h)) * Val(ARREGLO2(j, h))
Case "División"
If Val(ARREGLO2(j, h)) <> 0 Then
RESULTADO(j, h) = Val(ARREGLO1(j, h)) / Val(ARREGLO2(j, h))
Else
RESULTADO(j, h) = "indeterminado"
End If
End Select
msfgBaseDatos.Row = j
msfgBaseDatos.Col = h
msfgBaseDatos.Text = RESULTADO(j, h)
Next j
Next h
End Sub
Public Sub REALIZAOPERACION()
Dim sumav, sumah As Double
If opera = "Suma Vertical" Then
If entidad = "Nacional" Then
Call anual
sumav = 0
For h = añoi To añof
sumav = 0
For j = 1 To 32
sumav = sumav + Val(ARREGLO1(j, h))
msfgBaseDatos.Row = 33
msfgBaseDatos.Col = h
msfgBaseDatos.Text = sumav
Next j
Next h
End If
End If
If opera = "Suma Horizontal" Then
If fecha = "1980-2001" Then
Call estado
sumah = 0
For h = edoi To edof
sumah = 0
For j = 1 To 21
sumah = sumah + Val(ARREGLO1(h, j))
msfgBaseDatos.Row = h
msfgBaseDatos.Col = 41
msfgBaseDatos.Text = sumah
Next j
Next h
End If
End If
End Sub
Cualquier duda escríbeme aquí o ami e-mail [email protected] si gustas te envío el proyecto con las formas. ¿Me podrías mandar un ejemplo? Me es más fácil y claro. En espera de tu respuesta Berenice
3 respuestas
Respuesta de cris20
1
Respuesta de adrianxxi
Respuesta de alexanderk