Programar botón de búsqueda access

Necesito saber como programar el botón de búsqueda para mi formulario es un programa de control de expediente.
Tengo un formulario que se llama PRESTAMOS y estos son los campos que tengo en el formulario:

Usuario, departamento, socio, código de barras, descripción, fecha retiro y fecha entrega.

Nota:[departamento es de la tabla USUARIOS], [código de barras, descripción son de la tabla EXPEDIENTES] y [usuario, socio ,fecha retiro y fecha entrega son de la tabla PRESTAMOS].

Ya tengo los botones de NUEVO REGISTRO, GUARDAR REGISTRO y solo me faltaría el de BUSCAR

1 Respuesta

Respuesta
2

Juan: Por lo que citas, supongo que lo que pretendes es la apertura del Formulario Emergente de Buscar y Reemplazar >>

Supongamos que el Botón se llama BtnBusca. Le pones éste código

Private Sub BtnBusca_Click()
Call BuscaRapido
End Sub

Y la Función BuscaRapido la pones en un Modulo Estandar, para que la puedas llamar desde cualquier sitio de la Aplicación.

Function BuscaRapido()
On Error GoTo BuscaRapido_Err
With CodeContextObject
        On Error Resume Next
        DoCmd.GoToControl Screen.PreviousControl.Name
        Err.Clear
        DoCmd.RunCommand acCmdFind
        If (.MacroError <> 0) Then
                    Beep
                    MsgBox .MacroError.Description, vbOKOnly, ""
        End If
End With
BuscaRapido_Exit:
Exit Function
BuscaRapido_Err:
MsgBox Error$
Resume BuscaRapido_Exit
End Function

Un saludo >> Jacinto

gracias voy a realizar el proceso 

Jacinto pero si no escribo nada me gustaría que me mandara un msgbox que me diga que escriba algo para preceder con la búsqueda

Juan: Que yo sepa con éste buscador que es el de Office no se puede manipular, salvo las Opciones que ya lleva. Es posible que mediante alguna API se pueda hacer, pero lo ignoro.

Otra cosa, es que tu quieras hacerte un buscador personalizado de los cuales hay varios Ejemplos en la Red. Si quieres mirarte alguno de éstos que adapté, están en Mediafire, como:

http://www.mediafire.com/file/o3snv7qzass1us7/BuscaEnCampoComodin.rar 

http://www.mediafire.com/file/duwiska2k9ta2b4/BuscaEnCampoSeleccionado.rar 

http://www.mediafire.com/file/r868kfoyfhfks9c/BuscaValorArriba.rar 

Un saludo >> Jacinto

Juan: Se me ha colado uno que es de Excel. Un saludo >> Jacinto

jacinto sabes que me marca un error en 

Call BuscaRapido

error de compilación

se esperaba una variable o un procedimiento, no un modulo

Juan: Es posible que hayas puesto la Función BuscaRapido, en un Módulo Estándar con ese mismo nombre. Si eso fuera así, renombra el Módulo y le pones cualquier otro Nombre Ejemplo: MdlBusca o el que a ti te parezca. Mis saludos >> Jacinto

ea sale muchas gracias

jacinto otra molestia como seria el botón eliminar?

Prácticamente son los mismos campos 

El formulario se llama DEVOLUCIONES y estos campos que tengo en el formulario:

Usuario, departamento, socio, código de barras, descripción, fecha retiro y fecha entrega.

Nota:[departamento es de la tabla USUARIOS], [código de barras, descripción son de la tabla EXPEDIENTES] y [usuario, socio ,fecha retiro y fecha entrega son de la tabla PRESTAMOS].

Juan: En la línea del Código que te facilité y con la misma operativa del Procedimiento en Botón y llamando a la Función desde el Evento Click.

Function EliminaRegistro()
On Error GoTo EliminaRegistro_Err
On Error Resume Next
DoCmd.GoToControl Screen.PreviousControl.Name
Err.Clear
If (Not Frm.NewRecord) Then
        DoCmd.RunCommand acCmdDeleteRecord
End If
If (Frm.NewRecord And Not Frm.Dirty) Then
        Beep
End If
If (Frm.NewRecord And Frm.Dirty) Then
        DoCmd.RunCommand acCmdUndo
End If
If (MacroError <> 0) Then
        Beep
        MsgBox MacroError.Description, vbOKOnly, ""
End If
EliminaRegistro_Exit:
Exit Function
EliminaRegistro_Err:
MsgBox Error$
Resume EliminaRegistro_Exit
End Function  'EliminaRegistro()

Otra metodología con Función o directa en el Private Sub del Botón sería, si el Botón se llama BtnEliminaReg

Private Sub BtnEliminaReg_Click()
Dim Respuesta As Integer
Respuesta = MsgBox("¿Seguro que quieres eliminar éste Registro?.", vbYesNo + vbInformation, "CONFIRMA BORRADO")
If Respuesta = vbYes Then
     DoCmd.RunCommand acCmdDeleteRecord
End If
End Sub

Como sugerencia y en beneficio de otros usuarios, cuando se trate de una pregunta nueva, quizá es mejor generar una nueva, ya que cuando un post se va alargando, hay personas que no se entretienen en llegar al final. Mis cordiales saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas