Ver Mensaje Individual
  #15 (permalink)  
Antiguo 15/03/2009, 06:15
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Comparacion de Columnas

Una forma de solucionarlo es leer los campos antes de crear el array y redimensionarlo al número de campos diferentes de cero:

Modifica esta parte del código que te puse antes (a continuación de abrir el recordset):

Código vb:
Ver original
  1. Dim x As Integer, i As Integer
  2. For x = 0 To rst.Fields.Count - 1
  3.     ' si el valor del campo es mayor que , incrementamos la variable
  4.    If rst.Fields(x) > 0 Then i = i + 1
  5. Next x
  6. Dim a() As Variant
  7. ' redimensionamos la matriz bidimensional al número de campos no nulos
  8. ReDim a(i - 1, 1)
  9. ' el primer índice de la matriz es 0
  10. x = -1
  11. For i = 0 To rst.Fields.Count - 1
  12.     If rst.Fields(i) > 0 Then
  13.         ' el valor del campo es mayor que cero, lo cargamos en la matriz
  14.        x = x + 1
  15.         a(x, 0) = rst.Fields(i).Name
  16.         a(x, 1) = rst.Fields(i)
  17.     End If
  18. Next i
.. y a continuación haces la ordenación del array