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

Tema cerradoResultado de select a Variable

 Responder Responder
Autor
Mensaje
gabores Ver desplegable
Habitual
Habitual
Avatar

Unido: 06/Agosto/2007
Localización: Bolivia
Estado: Sin conexión
Puntos: 123
Enlace directo a este mensaje Tema: Resultado de select a Variable
    Enviado: 24/Septiembre/2021 a las 06:44
Hola a todos

Los molesto con una duda a ver si alguien puede echarme una mano.

Utilizo el siguiente Select para el recordsource de un formulario continuo según el dato ingresado en el campo txtBusqueda y me devuelve los datos correctamente.

miSQL = "SELECT * " _
        & "From frm_compras_seleccion_01_csl " _
        & "WHERE [" & Me.cboCampo & "] LIKE '*' & Forms!probando!txtBusqueda & '*' "

El problema que tengo es que cuando el Select no devuelve registros quiero mostrar un mensaje de texto que me avise que no hay coincidencias con el texto buscado pero no se como referenciar que el Select esta vacio o nulo para lanzar el Msgbox.

como puedo saber si el resultado de miSQL es vacio o cero?
Desde ya muchas gracias a todos.
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: 24/Septiembre/2021 a las 07:46
Hola

En ese formulario continuo puedes poner un campo y ocultarlo o no.  Algo asi  por ejemplo, en este caso contamos el campo id  =Cuenta(id)

Si es 0.....

Me imagino que despues de lanzar el recordsource tienes un me.Requery del formulario continuo, lo pones despues......

If Me.NombreCampoTexto=0 Then
msgbox"No hay registros"
End if
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14738
Enlace directo a este mensaje Enviado: 24/Septiembre/2021 a las 09:59
Hola,

Voy a suponer que utilizas algún evento para pasar el valor de esa variable miSQL al formulario. 

Te propongo 2 opciones. Siempre en ese evento de actualizar el Recordsource

Opción 'A': contar antes
Utilizando una función DCount 
If DCount("*", "frm_compras_seleccion_01_csl", "[" & Me.cboCampo & "] LIKE '*' & Forms!probando!txtBusqueda & '*'") = 0 Then --> no hay registros

Opción 'B': contar después
Utilizando el RecordsetClone
If Me.RecordsetClone.RecordCount = 0 Then --> no hay registros

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
gabores Ver desplegable
Habitual
Habitual
Avatar

Unido: 06/Agosto/2007
Localización: Bolivia
Estado: Sin conexión
Puntos: 123
Enlace directo a este mensaje Enviado: 25/Septiembre/2021 a las 05:08
Muchas gracias Rokoko y Xavi

Confío en que todas las opciones son viables pero por una cuestión de simpleza opté de inmediato por la opción B de Xavi y me dió el resultado que esperaba.
Como siempre MUCHAS GRACIAS por su tiempo y buena predisposición mas allá del conocimiento que poseen.
El hilo puede cerrarse.

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable