** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Mostrar select en pantalla
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoMostrar select en pantalla

 Responder Responder
Autor
Mensaje
Erick Gamer Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 08/Mayo/2016
Localización: Mexico
Estado: Sin conexión
Puntos: 387
Enlace directo a este mensaje Tema: Mostrar select en pantalla
    Enviado: 21/Mayo/2020 a las 22:21
Hola a todos,

Tengo una duda, es posible mostrar una consulta de seleccion en pantalla desde vba?
Es decir no tener la consulta generada y tampoco mostrarla en un formulario.

Estoy intentando con un record set si no esta vacio entonces invoco el SQL para mostrar mi consulta per me tira el error 2342 en tiempo ejecucion.

Una accion RunSQL requiere argumentos consistentes de un sentencia SQL.

'Validacion de cables sin cable code
Dim rs As DAO.Recordset
Dim SQL As String

Set rs = CurrentDb.OpenRecordset("SELECT * FROM [MASTER] WHERE ([MASTER].Type)=""Without GCC""")
If rs.RecordCount > 0 Then
    MsgBox "Existe información sin GCC....!" & vbCrLf & "Alerta!!!!", vbCritical, "Vea la información"
    SQL = "SELECT Wire,Name,Type FROM [MASTER] WHERE [MASTER].Type='Without GCC'"
    Debug.Print SQL
    .RunSQL SQL
    End If

Se que lo puedo solucionar almacenando la consulta en la base de datos, pero tengo la inquietud de ver si es posible mostrarla desde VBA.

Saludos

Erick Gamer
Aprendiz de todos, maestro de nadie.
Arriba
Dabellaso Ver desplegable
Asiduo
Asiduo


Unido: 18/Noviembre/2012
Localización: España
Estado: Sin conexión
Puntos: 338
Enlace directo a este mensaje Enviado: 21/Mayo/2020 a las 22:28
Hasta donde yo sé, con una consulta como tal no se puede. Lo que si puedes hacer es recorrer el recordset que creaste y usar el Debug.Print en cada registro que exista para mostrar los datos que quieras en la ventana de inmediato de VBA
El saber no ocupa lugar, sólo tiempo
Arriba
Erick Gamer Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 08/Mayo/2016
Localización: Mexico
Estado: Sin conexión
Puntos: 387
Enlace directo a este mensaje Enviado: 21/Mayo/2020 a las 22:42
Pero servira igual para verlo en pantalla, para el usuario?
Vamos a ver
Aprendiz de todos, maestro de nadie.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 21/Mayo/2020 a las 22:50
Hola!

Has probado ver en un MsgBox?
Un Saludo.
Arriba
Dabellaso Ver desplegable
Asiduo
Asiduo


Unido: 18/Noviembre/2012
Localización: España
Estado: Sin conexión
Puntos: 338
Enlace directo a este mensaje Enviado: 21/Mayo/2020 a las 22:51
Para el usuario no, el debug.print es para el programador.

Si quieres mostrar los datos al usuario, si son pocos puedes usar un msgbox, si no sabes cuantos serán , o sabes que serán muchos, podrías generar un archivo .txt con los datos y abrirlo para que el usuario los pueda ver a través el bloc de notas.

Otras opciones son tener un formulario (Ya sea de Access o de MsForms) exclusivo para esa situación que contenga un control de lista que te muestre los registros de la consulta

El saber no ocupa lugar, sólo tiempo
Arriba
Erick Gamer Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 08/Mayo/2016
Localización: Mexico
Estado: Sin conexión
Puntos: 387
Enlace directo a este mensaje Enviado: 21/Mayo/2020 a las 23:26
He tratado de mostrarlo en un MsgBOX, pero me muestra la sentencia SQL, no me muestra los datos.

SELECT Wire,Name,ype FROM [MASTER] WHERE [MASTER].Type='Without GCC'

Las opciones que comentas Dabellaso, si las he visto pero mas que nada es una inquietud, el saber si puede mostrarse en pantalla  como una consulta de seleccion pero desde el VBA.


Aprendiz de todos, maestro de nadie.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 21/Mayo/2020 a las 23:49
Tal como estás pidiendo (hasta dónde yo se) no es posible.

En esos casos yo creo una consulta temporal, le asigno la SQL y utilizo la consulta como SourceObject de un subformulario. Algo así:

Me!sfrDatos = "Query.NombreConsultaTemporal"


Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 22/Mayo/2020 a las 00:29
Hola!

Te he confeccionado un ejemplo, espero que te sirva.

http://www.filebig.net/files/SzKpHQJdev
Un Saludo.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 22/Mayo/2020 a las 17:56
A ver si esto te vale.
http://www.mvp-access.com/foro/ejecutar-consulta-select-en-vba_topic83711.html
Arriba
Erick Gamer Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 08/Mayo/2016
Localización: Mexico
Estado: Sin conexión
Puntos: 387
Enlace directo a este mensaje Enviado: 22/Mayo/2020 a las 21:33
En verdad que son unos magos, siempre hay variedad de soluciones a las preguntas expuestas.

Muchas gracias.
Dabellaso
Xavi
Mounir
Rokoko

Tema solucionado  Big smile

Erick Gamer
Aprendiz de todos, maestro de nadie.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable