** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Problema al mostrar registros
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Problema al mostrar registros

 Responder Responder
Autor
Mensaje
JoseraGR Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 06/Octubre/2020
Localización: Granada
Estado: Sin conexión
Puntos: 20
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita JoseraGR Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Problema al mostrar registros
    Enviado: 10/Enero/2022 a las 21:51
Buenas

Ando atascado en una BD que estoy realizando. El problema es el siguiente:

Desde el formulario principal (F_Principal)que es de tipo único, tengo un botón  para realizar la búsqueda de modelos. Al pulsar dicho botón se abre el formulario de búsqueda, que es de tipo continuo, en el cual indicamos los filtro por lo que realizamos la búsqueda.
Selecciono el registro que quiero y pulso un boton con el siguiente codigo:

Private Sub cmdSeleccionFicha_Click()
    'Declaramos variables
    Dim VReferencia As String
    'Obtnenemos el valor del campo Referencia del registro seleccionado
    VReferencia = Me.txtReferencia
    'Cerramos el formulario de busqueda
    DoCmd.Close
    'Abrimos el formulario principal con la ficha del modelo seleccionado mediante Referencia
       DoCmd.OpenForm "F_Principal", acNormal, , "[Referencia] ='" & VReferencia & "'"
End Sub
 
Este botón cierra el formulario de búsqueda y vuelve al formulario principal mostrando el registro seleccionado. Pero aqui esta el problema solo me muestra ese no dejándome navegar por el resto de los registro, para ello debo cerrar la BD. Además en la indicación del numero de registro donde nos encontramos aparece como ejemplo:"1 de 54",en lugar de la verdadera posición que tiene el registro en la tabla.

Lo que quisiera es poder abrir el formulario principal por el registro seleccionado, mostrando su posición en la tabla, y seguir navegando por los registros.

No se si el problema es que el formulario de búsqueda es continuo y el formulario principal es único, creo que por hay va un poco el tiro.

En fin espero vuestra ayuda

Un saludo y GRACIAS
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6452
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 10/Enero/2022 a las 22:37
Hola!

Para eso has de utilizar la propiedad OpenArgs

aparte de este enlace hay mucha información (Videos, ejemplos,.....) en la red.
Un Saludo.
Arriba
JoseraGR Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 06/Octubre/2020
Localización: Granada
Estado: Sin conexión
Puntos: 20
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita JoseraGR Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 12/Enero/2022 a las 21:35
Buenas

Gracias mounir, he visto el enlace y varios ejemplos mas que he encontrado, y al final he dado la solución. 
He modificado los códigos del formulario de búsqueda concretamente el del botón selecciona ficha por este:

Private Sub cmdSeleccionFicha_Click()
    'Abrimos el formulario principal con la ficha del modelo seleccionado mediante Referencia
    DoCmd.OpenForm "F_Principal", acNormal, , , , , Me.vtxtReferencia
    'Cerramos el formulario de busqueda
    DoCmd.Close acForm, "F_MenuBusqueda", acSaveNo
    
End Sub

Y en el evento 'al abrir' del formulario principal el codigo ha sido este:

Private Sub Form_Open(Cancel As Integer)
    'Declaramos variables
    Dim vReferencia As String
    'Comprobamos que la propiedad OpenArgs
    If IsNull(Me.OpenArgs) Then
        'Nos situamos para introducir un registro nuevo
        DoCmd.RunCommand acCmdRecordsGoToNew
        'Desactivamos al cargar el formulario las paginas Digital y sonido
        Me.FichasPrincipal.Pages(2).Enabled = False
        Me.FichasPrincipal.Pages(3).Enabled = False
        Me.FichasPrincipal.Pages(4).Enabled = False
    Else
        'Guardamos el contenido de la propiedad OpenArgs en la en la variable vReferencia
        vReferencia = Me.OpenArgs
        'Situamos el foco en el cuadro de texto referencia
        DoCmd.GoToControl "txtReferencia"
        'Buscamos el registro que coincida con el valor de vReferencia
        DoCmd.FindRecord vReferencia
    End If

End Sub
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable