Formulario en vista tabla que haga click en renglón

Necesito hacer un formulario especial. Debe ser en vista tabla, pero que haciendo click en el renglón registro se habrá el formulario para editar o ver datos, y que también tenga un campo de búsqueda.

¿Me pueden orientar como puedo hacerlo?

Respuesta
2

Silvia, aunque el formulario en vista de tabla no es indicado, si es posible programar eventos. He preparado este ejemplo en donde abro un formulario desde éste y puedo editar la información, igualmente programé la tecla F8 para abrir el formulario buscador de Access.

TABLA

Hago Doble clic sobre el idempleado 14 y cambio el nombre en mayúsculas

Cierro el formulario y actualiza en el formulario principal automáticamente el nombre a mayúscula.

Ahora estando en registro editado oprimo la tecla F8, me abre el formulario Buscar y reemplazar de Access. Escribo en Buscar JOSE hago clic en Buscar siguiente y me lleva al respectivo registro.

Resultado de buscar

Para que pueda programar la tecla F8 en Propiedades del formulario Eventos, Tecla de vista previa debe estar en SI. Ahora ingresamos este código en el evento del formulario Al bajar una tecla.

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF8 Then
      DoCmd.RunCommand acCmdFind
    End If
End Sub

Entonces no es indispensable tener visible en el encabezado y pie del formulario para programar eventos y que sea un formulario continuo (lo recomendado).

Silivia realicé una modificación no me gusta utilizar el formulario "Buscar y reemplazar" de Access, en este caso modifiqué el formulario de edición

Ahora se puede buscar desde este formulario y la regresa al registro elegido en el cuadro combinado "BUSCAR".

Código del cuadro de lista evento Después de actualizar

Private Sub cboBuscar_AfterUpdate()
  Dim criterio As String
    criterio = Me.cboBuscar.Value
    If Len(criterio) > 0 Then
        Dim frmFormulario1 As Form
        Set frmFormulario1 = Forms("frmPpalEmpleados")
        frmFormulario1.RecordsetClone.FindFirst "idempleado= " & Val(criterio)
        If Not frmFormulario1.RecordsetClone.NoMatch Then
            frmFormulario1.Bookmark = frmFormulario1.RecordsetClone.Bookmark
        Else
            MsgBox "No se encontraron resultados.", vbInformation, "Buscando..."
        End If
    End If
    DoCmd.Close acForm, Me.Name
End Sub

En conclusión, si es posible utilizar formulario en vista de datos, sino sirviera Access no tendría esta alternativa, todo depende del uso y conocimientos, por ejemplo, no sirve para mostrar encabezados, pies de página con subtotales etc.

2 respuestas más de otros expertos

Respuesta
1

Jamás, jamás le he visto utilidad alguna a los formularios en vista hoja de datos. ¿En que se diferencia del de la imagen y es un formulario contínuo.

Dicho esto, si la instrucción de abrir el otro la pusieras en el evento Al activar registro, cada vez que abrieras el formulario UNO, como el cursor se posiciona en el registro activo, automáticamente te abriría el formulario DOS. Por tanto la instrucción tendrías que ponerla en el evento Al hacer doble clic de cualquiera de los controles.

En un formulario contínuo como el de la imagen si podrías poner un botón, un cuadro de texto, un combinado que te actuaran como buscadores.

Respuesta
1

Un formulario continuo en su vista 'hoja de datos' no muestra ni la cabecera ni el pie (que es donde se podría ubicar un botón común de búsqueda), en la sección detalle solo están los datos del origen de datos.

Dado que estos formularios permiten aplicar restricciones de su contenido en tiempo de ejecución (filtro por formulario) utilizando la cabecera de cada campo como una mezcla de combobox y cuadro de lista con selección múltiple, el botón de buscar pierde un poco de importancia.

Si a ello se añade que permite manipular en tiempo real el ancho de sus columnas, puede ser el preferido de un usuario de Excel y sin duda tiene sus ventajas.

Analiza el formato de 'Formulario dividido', considero que es una opción que podría sustituirlo con ventaja al presentar en un único formulario ambas presentaciones (registro único + continuos) y presenta su cabecera y pie.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas