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'Botón para posicionarse en el registro de la semana actual
'###########################################################
Private Sub cmd_actual_Click()
LimpiarGrid
FunSemanaActual
Get #Numero, RegTemp, Horas
Do
CargarDatos
VisualizarDatos
RegTemp = RegTemp - 1
Loop While dia_C > "lunes"
End Sub
Y aqui esta el codigo de las funciones que aparecen en el boton .:
Código vb:
Ver original' ---------------------------------------------------------------------------
' \\ -- Función para asignar los Datos de un registro del archivo Horas.dat a
' ----- las variables internas.
' ---------------------------------------------------------------------------
Private Sub CargarDatos()
'Asignamos contenidos de las variables con datos de Horas.dat.
With Horas
inicio1_C = .inicio1
fin1_C = .fin1
inicio2_C = .inicio2
fin2_C = .fin2
inicio3_C = .inicio3
fin3_C = .fin3
tiempo_C = .tiempo
dia_C = Trim(.dia)
fecha_C = .fecha
semana_C = .semana
mes_C = .mes
año_C = .año
npedido_C = .npedido
Totalhoras_C = .Totalhoras
End With
End Sub
' ---------------------------------------------------------------------------
' \\ -- Subrutina que Visualiza los datos en el MSFlexGrid
' ---------------------------------------------------------------------------
Private Sub VisualizarDatos()
'Mostramos los datos en las celdas
Dim Columna As Single
Select Case dia_C
Case "lunes": Columna = 0
Case "martes": Columna = 1
Case "miercoles": Columna = 2
Case "jueves": Columna = 3
Case "viernes": Columna = 4
Case "sabado": Columna = 5
Case "domingo": Columna = 6
End Select
MSFlexGrid.TextMatrix(0, Columna) = fecha_C
MSFlexGrid.TextMatrix(1, Columna) = inicio1_C
MSFlexGrid.TextMatrix(2, Columna) = fin1_C
MSFlexGrid.TextMatrix(3, Columna) = inicio2_C
MSFlexGrid.TextMatrix(4, Columna) = fin2_C
MSFlexGrid.TextMatrix(5, Columna) = inicio3_C
MSFlexGrid.TextMatrix(6, Columna) = fin3_C
MSFlexGrid.TextMatrix(7, Columna) = tiempo_C
End Sub
' ---------------------------------------------------------------------------
' \\ -- Limpia el MSFlexGrid.
' ---------------------------------------------------------------------------
Private Sub LimpiarGrid()
Dim i As Integer, c As Integer
For i = 1 To 7
For c = 0 To 6
MSFlexGrid.TextMatrix(0, c) = ""
MSFlexGrid.TextMatrix(1, c) = ""
MSFlexGrid.TextMatrix(2, c) = ""
MSFlexGrid.TextMatrix(3, c) = ""
MSFlexGrid.TextMatrix(4, c) = ""
MSFlexGrid.TextMatrix(5, c) = ""
MSFlexGrid.TextMatrix(6, c) = ""
MSFlexGrid.TextMatrix(7, c) = ""
Next c
Next i
End Sub
' ---------------------------------------------------------------------------
' \\ -- Subrutina para para posicionarse en el registro de la semana actual.
' ---------------------------------------------------------------------------
Private Sub FunSemanaActual()
Dim i As Integer
SemanaActual = Format(Date, "WW")
D = LOF(Numero) / 94
For i = 0 To D
Get #Numero, RegActual, Horas
SemanaTemp = Horas.semana
If SemanaTemp = SemanaActual Then Exit For
If SemanaTemp < SemanaActual Then
RegActual = RegActual + 1
ElseIf SemanaTemp > SemanaActual Then
RegActual = RegActual - 1
End If
Next i
RegTemp = RegActual
End Sub