Access - Cambiar origen de registro de un Form

 
Vista:

Cambiar origen de registro de un Form

Publicado por Nicolás (6 intervenciones) el 04/07/2005 15:33:25
Hola, quien me ayuda con un problema que no puedo solucionar ? ? ? ? ! ! ! ! ! !
Tengo un Form que es una Lista, pero necesito cambiarle el origen de registro dinamicamente, segun la selección que haga en el menu.
El Form tiene como origen de registro "Q_Lista"

Esto es el resumen de lo que puse en el evento.

Str_Sql = "SELECT Mensajes.Msn_Id, ......."
Str_Sql = Str_Sql & " FROM Mensajes LEFT JOIN Remitente ......."
Str_Sql = Str_Sql & " WHERE (((Mensajes.Msn_Respdo)=-1));"

/* hasta aca no hay problema, arma bien la consulta en Str_Sql */

Q_Lista = Str_Sql
DoCmd.OpenForm "Lista_Mensajes"

Pero NO cambia el Select en "Q_Lista". En la ventana de Inmediato me dice que "Q_Lista" esta vacio.

Alguien me dice que estoy haciendo mal por favor ! ! ! ? ? ?
Muchas gracias
Nicolas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cambiar dinámicamente el origen de registro de un formulario

Publicado por Alejandro (4142 intervenciones) el 06/06/2023 17:09:23
Para cambiar dinámicamente el origen de registro de un formulario en Access, debes utilizar la propiedad RowSource del control de formulario que deseas modificar. Aquí tienes una solución:

1. Abre el formulario en modo Diseño.
2. Selecciona el control de formulario al que deseas cambiar el origen de registro (en este caso, "Q_Lista").
3. En la ventana de propiedades, busca la propiedad llamada "RowSource".
4. En el evento donde deseas realizar el cambio dinámico (por ejemplo, en el evento Click de un botón), añade el siguiente código:

1
2
3
4
Dim strSQL As String
strSQL = "SELECT Mensajes.Msn_Id, ......." ' Tu consulta dinámica aquí
 
Forms("NombreDelFormulario").Controls("Q_Lista").RowSource = strSQL

Asegúrate de reemplazar "NombreDelFormulario" con el nombre real de tu formulario.

Con este código, asignas la consulta dinámica a la propiedad RowSource del control de formulario, lo que actualizará el origen de registro y mostrará los datos de acuerdo a tu consulta.

Recuerda ajustar el código según tus necesidades y los nombres reales de los controles y formularios en tu base de datos.

Espero que esta solución te ayude a cambiar dinámicamente el origen de registro de tu formulario en Access.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar