Mostrar datos de una consulta en un subformulario independiente

Me encuentro programando en Access 2007 en conjunto con VBA.

Estoy trabajando con algunas consultas multitablas y los registros los estoy mostrando en un ListoBox multicolumna, sin embargo he visto que se pueden mostrar registros en Subformularios, de tal manera que los datos los muestran como si fuese un DataGrid.

Sin embargo investigando por internet, he visto que estos subformularios se encuentran ligados a una consulta o incluso a otro subformulario y se crean a través del asistente.

Es aquí donde surge mi duda, existe alguna manera de poder usar un “Subformulario Independiente” y poder mostrar los datos deseados en este subformulario sin la necesidad de usar un asistente. Menciono esto porque la consulta que deseo mostrar en dicho subformulario la tengo en una variable en VBA (de esta manera vengo trabajando con el ListBox).

O incluso, si existe alguna herramienta que me permita mostrar los datos de una manera más agradable.

Espero no estar incidir en alguna aberración al hacer esta pregunta, ya que estoy conociendo Access y el lenguaje VBA.

2 respuestas

Respuesta
1

José: Sobre esa consulta que tienes, puedes crearte con el asistente o sin el un Formulario.

Y ahora vamos a la Forma de Visualizarlo:

Unico Formulario, de 1 en uno.

Gormularios continuos>> Pues eso.

Hoja de datos >> Como decías tipo Grid

Mi sugerencia es que con el asistente simplemente construyas un Formulario, (que si no lo insertas en otro no será Subformulario) Continuo u hoja de Datos.

Estos por llamarlos de alguna manera (sin que se ofendan los puritanos), son ListBox Mejorados y el más Flexible es el Continuo. Mis saludos >> Jacinto

Amigo gracias por tu pronta respuesta la opción es buena.

Solo una cuestión más, manejo un RecordSet que contiene los datos de la consulta pero no conozco la manera de mostrarlos en el Formulario de tipo hoja de datos. Y por lo que he visto en internet parece ser que hay algo llamado RecordSource que permite llenar el formulario en tipo hoja de datos.

¿Conoces alguna manera de mostrar una consulta en el Formulario en tipo hoja de datos?

Nuevamente agradezco la pronta respuesta y espero no parece un poco flojo al pedir un ejemplo, ya que me encuentro más familiarizado con el manejo del ListBox.
Saludos

José: Ciertamente existe "algo llamado" RecordSource y justo quiere decir "Origen del Registro".

De modo que en éste caso no necesitas dar ese rodeo para "Alimentar" de datos al Formulario.

En las Propiedades >> En la Ficha/Pestaña > Datos en la primera posición está >> Origen del Registro. Ahí le pones directamente el Nombre de tu Consulta.

Si quieres ver un Ejemplo (No es muy simple), mira en éste enlace.

Mis saludos >> Jacinto

Respuesta
1

Por ampliar un poco la respuesta de Jacinto:

1º/ Creas un formulario basado en tu consulta, con el asistente o no, a tu gusto y con la distribución que más te guste (yo usaría una tabular o tipo hoja de datos)

2º/ Creas un formulario en blanco, en el que, si no he entendido mal tu pregunta, pondrás controles para mostrar (filtrar) el subformulario con unos criterios específicos.

3º/ Insertas en tu formulario como subformulario el formulario creado en el punto 1. Obviamente, no lo debes relacionar con ningún control del formulario.

4º/ En el código de un botón o en algún procedimiento de evento adecuado de tus controles, haces que el subformulario se "recalcule", es decir, lo filtras, le cambias el origen de datos... Tienes distintas opciones.

Saludos!


Una nueva web y foro de Access, pásate: http://nksvaccessolutions.com/ 

Hey amigo, gracias por tus respuestas ya que en varias ocasiones me has ayudado.

La respuesta que ampliaste es muy buena, incluso intuiste de manera correcta lo de los controles, ya que con estos controles deseo realizar un filtro y que este se muestre en el subformulario. Sin embargo tengo una segunda pregunta, y es la misma que hice con Jacinto. He visto en internet que hay algo que llamado RecordSource y parece que esto llena a un subformulario en tipo hoja de datos. La pregunta es ¿Conoces algún ejemplo con el cual una consulta se muestre en el sub formulario de tipo hoja de datos?

Como lo mencione anteriormente, me encuentro más familiarizado con el uso del ListBox ya que para llenar este control uso un RecordSet, me imagino que ha de funcionar de una manera similar, pero no logro dar con el dato.

De antemano una vez más tu agradezco tu respuesta

Saludos

Como te dice Jacinto, el recordset es el origen de datos del formulario, y lo puedes usar exactamente igual que el RowSource de un cuadro de lista (siempre que ese rowsource sea del tipo "Tabla/consulta")

Una opción, quizá más simple para tí, sería abras en vista diseño tu formulario "en blanco" y arrastres tu consulta a él. Con eso consigues que te quede la consulta como subformulario en vista hoja de datos (access se encarga de crearte el subformulario)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas