Como buscar datos dependiendo de asignar un opt en un formulario

Tengo realizado un formulario donde estoy buscando datos desde un formulario a una base de datos donde voy ingresando instrumentos de medición. Lo que necesito es buscar estos números con respecto al numero de correlativo que se va generando en la base de datos cuando ingreso un instrumento.

Tengo dos tipos de búsqueda, por N° de correlativo y por N° de instrumento y su fecha de ingreso. Lo que me falta es asignar a la macro que al presionar el opt correspondiente me busque con cada termino de estos .

Adjunto la imagen del formulario

Anterior mente me ayudaste con algo similar. Por favor avísame y te mando el archivo al correo

1 Respuesta

Respuesta
1

H o l a: Envíame el archivo con el formulario, recuerda poner tu nombre de usuario en el asunto.

Estimado,

Envié el archivo.

Saluda atentamente:

Roebrto gatica

Estimado. Te comento que pude hacer lo solicitado, pero lo que no logro realizar es que me lea el numero correlativo, ya que este es una función y no un valor fijo

Te anexo el código para buscar por correlativo

 'Buscar por correlativo
    '
    If optBuscarCorrelativo Then
        If txtCorrelativo = "" Then
            MsgBox "Ingresar el correlativo", 64
            txtCorrelativo.SetFocus
            Exit Sub
        End If
        Set h = Sheets("CORRELATIVO")
        Set r = h.Columns("A")
        Set b = r.Find(txtCorrelativo, lookat:=xlWhole, LookIn:=xlValues)
        If Not b Is Nothing Then
            txtCorrelativo = h.Cells(b.Row, "H")
            txtNombre = h.Cells(b.Row, "D")
            txtArea = h.Cells(b.Row, "E")
            txtEstado = h.Cells(b.Row, "L")
            txtFechaTermino = h.Cells(b.Row, "J")
        Else
            MsgBox "El correlativo no existe", 64, "No existe"
        End If
    End If

El código completo para buscar:

Private Sub cmdBuscar_Click()
'Por.Dante Amor
    'txtCorrelativo = ""
    txtNombre = ""
    txtArea = ""
    txtEstado = ""
    txtFechaTermino = ""
    If optBuscarCodigo Then
        If txtCodigo = "" Then
            MsgBox "Ingresar el n° de instrumento", 64
            txtCodigo.SetFocus
            Exit Sub
        End If
        If txtFechaIngreso = "" Or Not IsDate(txtFechaIngreso) Then
            MsgBox "Ingresar fecha de ingreso", 64
            txtFechaIngreso.SetFocus
            Exit Sub
        End If
        fila = 0
        Set h = Sheets("CORRELATIVO")
        Set r = h.Columns("C")
        Set b = r.Find(txtCodigo, lookat:=xlWhole)
        If Not b Is Nothing Then
            celda = b.Address
            Do
                If h.Cells(b.Row, "B") = CDate(txtFechaIngreso) Then
                    fila = b.Row
                    Exit Do
                End If
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> celda
        End If
        If fila > 0 Then
            txtCorrelativo = h.Cells(fila, "H")
            txtNombre = h.Cells(fila, "D")
            txtArea = h.Cells(fila, "E")
            txtEstado = h.Cells(fila, "L")
            txtFechaTermino = h.Cells(fila, "J")
        Else
            MsgBox "El instrumento no existe", 64, "No existe"
        End If
    End If
    '
    'Buscar por correlativo
    '
    If optBuscarCorrelativo Then
        If txtCorrelativo = "" Then
            MsgBox "Ingresar el correlativo", 64
            txtCorrelativo.SetFocus
            Exit Sub
        End If
        Set h = Sheets("CORRELATIVO")
        Set r = h.Columns("A")
        Set b = r.Find(txtCorrelativo, lookat:=xlWhole, LookIn:=xlValues)
        If Not b Is Nothing Then
            txtCorrelativo = h.Cells(b.Row, "H")
            txtNombre = h.Cells(b.Row, "D")
            txtArea = h.Cells(b.Row, "E")
            txtEstado = h.Cells(b.Row, "L")
            txtFechaTermino = h.Cells(b.Row, "J")
        Else
            MsgBox "El correlativo no existe", 64, "No existe"
        End If
    End If
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas