Rellenar datos en un control.

Hola amigo:
Tengo un problema que no consigo explicame y es el siguiente:
Tengo un formulario en access con dos botones de acción que hacen cosas parecidas, el caso es que en umbos botones, cambio el contenido de un control para que me diga en cada momento en que punto del código me encuentro, lo extraño es que con el código del botón 1 funciona correctamente, mientras que el código del control 2 asigna el valor al control pero no muestra más que el último valor asignado cuando acaba todo el proceso.
Lo hago con la propiedad caption del control y no consigo que me funcione bien.
Te adjunto el código de ambos botones a ver si ves algo, el contro en concreto se llama "Estado". EL CÓDIGO FUNCIONA PERFECTAMENTE, sólo tengo el problema del control estado por lo que aunque te mando todo el código fíjate sólo en lo que puede estar pasando para que el formulario no refresque la información del control. ¿Lo extraño es que si lo hago en modo depuración funciona correctamente tod. Misterios de microsoft?
Gracias por estar ahí y un saludo desde España.
Botón 1 funciona:
Private Sub asignar_tareas_Click()
'*****************************************************************************************************
'*                            Recuperamos los datos del servidor                                     *
'*****************************************************************************************************
Me.Estado.Caption = "Buscando datos"
Dim bd As Database 'definimos la variable de base de datos
Set bd = CurrentDb 'Asignamos la base de datos a la variable
Dim registrosRS As Recordset
Dim InsertarStr As String
     InsertarStr = ("SELECT * FROM [Buscar Facturas Pendientes de inventariar] order by 1 ")
    Set registrosRS = bd.OpenRecordset(InsertarStr)
        With registrosRS
        If registrosRS.RecordCount = 0 Then
            Me.Estado.Caption = "No hay Facturas a tratar"
            Exit Sub
        End If
       End With
DoCmd.OpenQuery "Facturas Pendientes de inventariar", acNormal, acEdit
Me.Estado.Caption = registrosRS.RecordCount & " Facturas a tratar"
'*****************************************************************************************************
'*                                          Asignamos las tareas                                     *
'*****************************************************************************************************
Me.Estado.Caption = "Asignando Tareas"
Dim FacturasRs As Recordset      'Creamos el contenedor de las facturas
Dim FacturasStr As String
FacturasStr = ("select [contable],[TERCERO] ,[Fecha de asignación] from [Facturas pasadas a inventariar]where [contable]= '0' order by 2")
Dim ContFRAS As Integer         'creamos un contador de facturas
Dim contablesRs As Recordset    'Creamos el contenedor de contables
Dim contablesStr As String
contablesStr = ("select [contable] from [contables] order by 1") 'Ordenamos por que si no no cuenta bien mas abajo
Set FacturasRs = bd.OpenRecordset(FacturasStr)  'abrimos los datos de facturas
Set contablesRs = bd.OpenRecordset(contablesStr) 'abrimos los datos de contables
    With contablesRs
      NumContablesStr = contablesRs.RecordCount
      contableStr = contablesRs!contable
        With FacturasRs 'Utilizamos el contenedor de facturas
              x = Int(FacturasRs.RecordCount / NumContablesStr) 'Asignamos al contador x el número de facturas que
                                                                'va a acontavilizar cada uno
              While Not FacturasRs.EOF
                FacturasRs.Edit
                 FacturasRs!contable = contableStr
                 'FacturasRs![Fecha de asignación] = Date
                 FacturasRs.Update
                 FacturasRs.MoveNext
                 x = x - 1
                 ContFRAS = ContFRAS + 1
                 If x = 0 Then      'Al finalizar la asignación a un usuario, cambiamos de usuario y si no es el
                                    'final del fichero de usuarios restablecemos el valor x y volvemos a asignar
                                    'facturas
                    With contablesRs
                    contablesRs.MoveNext
                    If Not contablesRs.EOF Then
                   ...

1 Respuesta

Respuesta
1
EN tu código en la parte donde actual. Izas el valor que no se actualiza sio al final, después de actualizar coloca el valor DoEvents()
Muchas gracias por tu rápida respuesta ha sido muy útil y me ha solucionado el problema aun que no comprendo la función de la sentencia. Por cierto la he tenido que escribir sin paréntesis.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas