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