Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2010, 06:26
Avatar de XYON126
XYON126
 
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 18 años, 1 mes
Puntos: 0
Problema con MsFlexgrid

Hola!

Tengo un problema, tengo un boton que cuando lo ejecuto debe cargarme unos datos en un Msflexgrid el problema esta en que el archivo tiene varios registros pero en cambio solo me carga uno ¿Donde he cometido el error?

Un saludo y muchas gracias

Este es el codigo del boton.:
Código vb:
Ver original
  1. 'Botón para posicionarse en el registro de la semana actual
  2. '###########################################################
  3.  
  4. Private Sub cmd_actual_Click()
  5. LimpiarGrid
  6. FunSemanaActual
  7.  
  8. Get #Numero, RegTemp, Horas
  9. Do
  10.     CargarDatos
  11.     VisualizarDatos
  12.     RegTemp = RegTemp - 1
  13.    
  14. Loop While dia_C > "lunes"
  15.  
  16. End Sub

Y aqui esta el codigo de las funciones que aparecen en el boton .:

Código vb:
Ver original
  1. ' ---------------------------------------------------------------------------
  2. ' \\ -- Función para asignar los Datos de un registro del archivo Horas.dat a
  3. ' -----  las variables internas.
  4. ' ---------------------------------------------------------------------------
  5. Private Sub CargarDatos()
  6.  
  7. 'Asignamos contenidos de las variables con datos de Horas.dat.
  8. With Horas
  9.  
  10. inicio1_C = .inicio1
  11. fin1_C = .fin1
  12. inicio2_C = .inicio2
  13. fin2_C = .fin2
  14. inicio3_C = .inicio3
  15. fin3_C = .fin3
  16. tiempo_C = .tiempo
  17. dia_C = Trim(.dia)
  18. fecha_C = .fecha
  19. semana_C = .semana
  20. mes_C = .mes
  21. año_C = .año
  22. npedido_C = .npedido
  23. Totalhoras_C = .Totalhoras
  24.  
  25. End With
  26.  
  27. End Sub
  28.  
  29. ' ---------------------------------------------------------------------------
  30. ' \\ -- Subrutina que Visualiza los datos en el MSFlexGrid
  31. ' ---------------------------------------------------------------------------
  32. Private Sub VisualizarDatos()
  33.  
  34. 'Mostramos los datos en las celdas
  35. Dim Columna As Single
  36. Select Case dia_C
  37. Case "lunes": Columna = 0
  38. Case "martes": Columna = 1
  39. Case "miercoles": Columna = 2
  40. Case "jueves": Columna = 3
  41. Case "viernes": Columna = 4
  42. Case "sabado": Columna = 5
  43. Case "domingo": Columna = 6
  44. End Select
  45.  
  46. MSFlexGrid.TextMatrix(0, Columna) = fecha_C
  47. MSFlexGrid.TextMatrix(1, Columna) = inicio1_C
  48. MSFlexGrid.TextMatrix(2, Columna) = fin1_C
  49. MSFlexGrid.TextMatrix(3, Columna) = inicio2_C
  50. MSFlexGrid.TextMatrix(4, Columna) = fin2_C
  51. MSFlexGrid.TextMatrix(5, Columna) = inicio3_C
  52. MSFlexGrid.TextMatrix(6, Columna) = fin3_C
  53. MSFlexGrid.TextMatrix(7, Columna) = tiempo_C
  54.  
  55. End Sub
  56.  
  57. ' ---------------------------------------------------------------------------
  58. ' \\ -- Limpia el MSFlexGrid.
  59. ' ---------------------------------------------------------------------------
  60. Private Sub LimpiarGrid()
  61.  
  62. Dim i As Integer, c As Integer
  63.  
  64. For i = 1 To 7
  65.     For c = 0 To 6
  66.     MSFlexGrid.TextMatrix(0, c) = ""
  67.     MSFlexGrid.TextMatrix(1, c) = ""
  68.     MSFlexGrid.TextMatrix(2, c) = ""
  69.     MSFlexGrid.TextMatrix(3, c) = ""
  70.     MSFlexGrid.TextMatrix(4, c) = ""
  71.     MSFlexGrid.TextMatrix(5, c) = ""
  72.     MSFlexGrid.TextMatrix(6, c) = ""
  73.     MSFlexGrid.TextMatrix(7, c) = ""
  74.     Next c
  75. Next i
  76.    
  77. End Sub
  78.  
  79. ' ---------------------------------------------------------------------------
  80. ' \\ -- Subrutina para para posicionarse en el registro de la semana actual.
  81. ' ---------------------------------------------------------------------------
  82. Private Sub FunSemanaActual()
  83.  
  84. Dim i As Integer
  85.  
  86. SemanaActual = Format(Date, "WW")
  87.  
  88. D = LOF(Numero) / 94
  89.  
  90. For i = 0 To D
  91.  
  92.     Get #Numero, RegActual, Horas
  93.     SemanaTemp = Horas.semana
  94.        If SemanaTemp = SemanaActual Then Exit For
  95.             If SemanaTemp < SemanaActual Then
  96.             RegActual = RegActual + 1
  97.             ElseIf SemanaTemp > SemanaActual Then
  98.             RegActual = RegActual - 1
  99.        End If
  100.  
  101. Next i
  102. RegTemp = RegActual
  103. End Sub