¿Cuadrícula en un formulario de Access?

¿Es posible añadir a un formulario una "cuadrícula" que coja ciertas columnas de una tabla? Me explico, la idea es que en un formulario, donde se muestran datos por cliente, añadir un "algo" que también muestre una lista de mercancías que le hemos vendido; se me ocurre en forma de "tabla". Simplemente, mostrar, no modificar.

1 respuesta

Respuesta
2

Puedes hacerlo con un subformulario relacionado con el principal(que formatearás como quieras, además de bloquearlo para edición, eliminación...), o con un cuadro de lista (en cuyo caso tendrás que programar un código para que se te actualice y muestre los datos del registro activo)

Un Saludo.


¡Gracias! 


Sveinbjorn El Rojo:

He probado el subformulario relacionando dos id de tablas diferentes y funciona de mil maravillas, muchas gracias. Ahora, como la idea es mostrar todas las ventas que tiene cada cliente, ¿existe alguna manera que te las liste todas sin tener que navegar por el subform?

Saludos.

Entiendo que tu formulario muestra solo un registro de cada vez. Si es así, tendrás que cambiarlo por uno que muestre todos los registros, es decir, un formulario continuo.

Si lo haces desde cero, cuando te pregunte has de escoger una distribución Tabular o en Hoja de datos. Si quieres cambiar el que ya tienes, has de cambiar su propiedad "vista predeterminada" a "formularios continuos"

Hablamos de que el formulario sí debe mostar un registro a la vez (cliente), y el subform registros varios en función del cliente (ventasxcliente). Te lo comento porque en el subform no puedo cambiar lo que indicas y en el formulario me dice que no se puede porque contiene un subform.

Saludos.

Yo me refiero al subformulario (que no deja de ser un formulario dentro de otro), que es donde quieres mostrar todos los registros.

Tienes que modificarlo abriéndolo como un formulario normal, o bien lo creas de cero y lo vuelves a meter dentro de tu formulario principal

Vale, lo que he hecho es añadir un form, cambiándole lo que me has indicado, y funciona muy bien (toca hacer estética). Dos consultas finales: me aparece un "tercer registro en blanco", ¿es posible hacer que no aparezca?; y, ¿es posible añadir un txtBox al form principal que cuente las ventas?, de tal manera que te indique cuántas ventas tiene el cliente y en el subform aparezcan la misma cantidad listadas.

Muchas gracias por todo y saludos.

Primera duda: en el subformulario ponle "permitir agregar" de la pestaña Datos a No

Segunda duda: en el evento "al activar registro" del formulario principal pones este código (adaptado a tus nombres):

Me.nombreCuadroTexto=Me.nombreSubform.Form.RecordsetClone.Recoudcount

Me da error '438': El objeto no admite esta propiedad o método

Private Sub Form_Current()
Call subRestauraCajasVacias(Me.Name)
Me.Nventas = Me.ventasxcliente.Form.RecordsetClone.Recoudcount
End Sub

Seguramente sea porque tu subformulario no se llama así, porque el código lo tengo más que probado.

Ojo, que el nombre que debes poner es el del control (el cuadro que lo contiene), no el del subformulario en sí.

Lo siento, Sveinbjorn El Rojo, no entiendo a qué te refieres. No encuentro el cuadro que lo contiene: el único nombre que aparece es el del subform.

Saludos.

Te pongo una imagen a ver si lo ves más claro:

Fiájte en lo que señalo con la flecha azul, que es el control subformulario. En el ejemplo, ese control se llama subfTiquets, mientras que el formulario que hace de subformulairo se llama FTiquets.

En el cuadro de texto yo tendría que poner:

Me.Texto7 = Me.subFTiquets.Form.RecordsetClone.RecordCount

Te paso también el archivo para que lo veas: http://filebig.net/files/Lw6gjRxXGK 

Te reirás pero he copiado el primer código que has puesto y dice "Recoudcount" que no "RecoRdcount" xD. Solucionado. Muchas gracias, eres un crack!

Saludos.

Je je, fallo mío por contestar desde la tablet...

¡Gracias Totales!

Sveinbjorn, ¿puedo abrir una consulta directa a ti y enviarte un ejemplo por correo electrónico para así explicarme mejor?

Pues no, ahora no puedes hacer preguntas a un experto directamente, pero puedes abrir una pregunta e indicar que la diriges a mi; o también puedes hacer la pregunta y recomendarmela, aunque en ambos casos cualquier otro experto te puede responder.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas