none
Como usar On error en una rutina en que se presentan errores repetitivos. RRS feed

  • Pregunta

  • En un formulario con mas de 20,000 registros tengo un clave del tipo: "001.0001", "001.0002", ..., "002.0001", "002.0002",..., hasta "999.9999"; cada grupo genérico por ejemplo "001." puede tener hasta 9999 elementos, ningún grupo tiene todos los elementos posibles, para moverme rápidamente desarrolle la rutina siguiente:

    '-------------------------------------------------
    Private Sub cmbGEN_Click()
      Me!GENtxt = Me!cmbGEN.Column(1)
      Set qryX = CurrentDb.QueryDefs("qryConceptoGEN")
      qryX.Parameters("prmGEN") = Me!cmbGEN
      Set rstX = qryX.OpenRecordset
      strX = rstX!COD
      rstX.Close
      intX = 100
      On Error GoTo Salida
    Salto:
      If strX > Me!COD Then
        Do
          DoCmd.GoToRecord , , acNext, intX
        Loop While strX > Me!COD
      Else
        Do
          DoCmd.GoToRecord , , acPrevious, intX
        Loop While strX < Me!COD
      End If
    Salida:
      If intX = 100 Then
        intX = 10
        GoTo Salto
      Else
        If strX > Me!COD Then
          Do
            DoCmd.GoToRecord , , acNext
          Loop Until strX = Me!COD
        Else
          Do
            DoCmd.GoToRecord , , acPrevious
          Loop Until strX = Me!COD
        End If
      End If
    End Sub

    Access captura el primer error y lo manda a la etiqueta Salida, pero al regresar a la rutina Salto: si se presenta un nuevo error el control de errores ya no funciona.

    ¿Qué debo hacer para reactivar el control de errores?

    viernes, 25 de septiembre de 2015 16:29