** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Consulta con casilla de verificación
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoConsulta con casilla de verificación

 Responder Responder
Autor
Mensaje
silver7619 Ver desplegable
Habitual
Habitual
Avatar

Unido: 13/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 137
Enlace directo a este mensaje Tema: Consulta con casilla de verificación
    Enviado: 15/Diciembre/2019 a las 20:31
Buenas tardes, voy a intentar explicarme.
Quiero hacer una consulta en la que tengo un criterio de verdadero o Falso.
En el formulario de access que tengo realizado tengo un marco en la que se marca:
Realizadas
No Realizadas
Todas

Luego he puesto un cuadro de texto en la que le asigno un valor dependiendo de lo elegido
Verdadero o 1
Falso o 0
Null

El criterio de la consulta de ese campo lo tomo de lo elegido en el campo de texto. Funciona con verdadero o falso, pero no el null.

Lo que deseo es que si marco la casilla todas, en la consulta me salga todo sin restricción.

me podéis ayudar?



Gracias
D.Valera
Arriba
guarracuco Ver desplegable
Moderador
Moderador
Avatar

Unido: 24/Abril/2004
Localización: EEUU
Estado: Sin conexión
Puntos: 3123
Enlace directo a este mensaje Enviado: 16/Diciembre/2019 a las 02:01
Puedes hacer algo como:

If tuTxt = 1 then
Sqlstr = "select * from nombre_tabla where tucolumna=1;"
Else if tutxt=0 then
Sqlstr= "select ....bla bla bla where tucolumna=0;"
Else
Sqlstr="select * from tutabla;"
End if


Editado por guarracuco - 16/Diciembre/2019 a las 02:02
https://tucondominioaldia.net
Arriba
silver7619 Ver desplegable
Habitual
Habitual
Avatar

Unido: 13/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 137
Enlace directo a este mensaje Enviado: 17/Diciembre/2019 a las 20:01
Hola y gracias por responder.
He intentado poner el codigo y me sale un problema en el "tbd" del código que te pongo a continuación.

El error es "error de compilación, el uso de la propiedad no es valido"

Podrias por favor ayudarme? Gracias

Private Sub Comando26_Click()

Dim db As Database
Dim tbd As QueryDefs

Set db = CurrentDb 'base de datos actual
Set tbd = db.QueryDefs("QryOfertasTodo")


If ver1 = True Then
tbd = "select * from tblfax where aceptada=1;"
Else
If ver1 = False Then
tbd = "select * from tblfax where aceptada=0;"
Else
tbf = "select * from tblfax;"
End If
End Sub
D.Valera
Arriba
guarracuco Ver desplegable
Moderador
Moderador
Avatar

Unido: 24/Abril/2004
Localización: EEUU
Estado: Sin conexión
Puntos: 3123
Enlace directo a este mensaje Enviado: 17/Diciembre/2019 a las 21:21
Hola!
tbd es un objeto query, y estas intentando asignarle un valor.
Si lo que deseas es ejecutar la consulta, no es necesario instanciar ese objeto. (no tengo claro lo que deseas hacer)

Intenta lo siguiente:
1) comenta Dim tbd as querydefs
2) comenta Set tbd = db.querydefs("qryofertastodo")
3) corrige abajo del Else: cambia tbf por tbd

luego, despues del end if:
db.execute tbd

Pero creo que lo que deseas es llenar un objeto: cuadro de lista, formulario, por lo que ejecutar esa instruccion sql no sera suficiente, pero al menos compruebas que ese era el error.



https://tucondominioaldia.net
Arriba
silver7619 Ver desplegable
Habitual
Habitual
Avatar

Unido: 13/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 137
Enlace directo a este mensaje Enviado: 21/Diciembre/2019 a las 22:00
Hola, y gracias por contestar.
No quiero rellenar ningun cuadro de lista, ni nada de esto, solo quiero ejecutar una consulta con parametros, dependiendo de la opción marcada; "Aceptadas", "No aceptadas" y "Todas".
La casilla de verificación sólo acepta Verdadero o Falso.
La consulta hecha y me funciona con Verdadero o Falso, pero no sé como hacer que me saque "todos", y salte el parámetro.
He probado lo que me has puesto y sigue sin funcionar.

Gracias
D.Valera
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11278
Enlace directo a este mensaje Enviado: 21/Diciembre/2019 a las 22:07
Dim AuxWhere As String

Select Case Me.ver1
case True, False
AuxWhere = " WHERE Aceptada = " & Me.ver1
case Else
AuxWhere = ""
End Select
SQL = "SELECT * FROM tblfax" & AuxWhere
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5360
Enlace directo a este mensaje Enviado: 21/Diciembre/2019 a las 23:31
Buenas noches.

He emulado tu situación y he creado una tabla a la que llamo como tu Silver7619. Le he puesto 2 campos, uno del tipo texto y el otro del tipo Si/No.

SILVER7619
CAMPO1 SERAverdaderoFALSO
VIMIPAS
SILVER1976 No
MEXMAN70 No
EMILIOVE No
XAVI

Al pegar los registros que he creado aquí en la pantalla de la respuesta que estoy escribiendo, y que en Access aparecen únicamente marcados o desmarcados (1 o 0), aquí aparecen con Sí y No. Pero bueno eso nos da igual.

Ahora he hecho una consulta sobre esta tabla, la he llamado Consulta2DESILVER7619. Te pego a continuación la SQL de dicha consulta:

SELECT SILVER7619.CAMPO1, SILVER7619.SERAverdaderoFALSO
FROM SILVER7619
WHERE (((SILVER7619.SERAverdaderoFALSO) Like "*" & [VerFalTod] & "*"));

Y ahora te pego los registros obtenidos según las respuestas posibles que tu esperas (1,0, todos):

Consulta2DESILVER7619
CAMPO1 SERAverdaderoFALSO
VIMIPAS
XAVI


Consulta2DESILVER7619
CAMPO1 SERAverdaderoFALSO
SILVER1976 No
MEXMAN70 No
EMILIOVE No

Consulta2DESILVER7619
CAMPO1 SERAverdaderoFALSO
VIMIPAS
SILVER1976 No
MEXMAN70 No
EMILIOVE No
XAVI

Ahora quiero tu hagas la misma prueba, coges tu tabla y la usas para hacer esta consulta (con tus campos claro), pones dos campos (uno de ellos el de Sí/No) y en criterios, ojo: del campo Sí/No, pones esto: Como "*" & [VerFalTod] & "*".

Cuando tienes que escribir el valor de VerFalTod, primero pones un 1, segundo pones un 0 y tercero, no pones nada, simplemente pulsa la tecla Intro, es decir que no toma valor ninguno y el Como (o Like para Access), acepta esta última como "todos los registros".

Luego lo adaptas a lo que tienes en el formulario. Está claro que primero he querido que lo entiendas y luego....

Ya nos cuentas.

Saludos.


Editado por VIMIPAS - 21/Diciembre/2019 a las 23:34
Gracias
Arriba
silver7619 Ver desplegable
Habitual
Habitual
Avatar

Unido: 13/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 137
Enlace directo a este mensaje Enviado: 22/Diciembre/2019 a las 10:47
Muchas gracias.

Eso era lo que quería.

Si hubiera puntuación te daria 5 estrellas.... :-D

Por mi se puede cerrar el hilo.
D.Valera
Arriba
silver7619 Ver desplegable
Habitual
Habitual
Avatar

Unido: 13/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 137
Enlace directo a este mensaje Enviado: 22/Diciembre/2019 a las 10:48
Muchas gracias por responder.

El tema se ha solucionado, con tu respuesta y con la de Vimipas.

Os deseo que paseis unas felices Fiestas.

Por mi se puede cerrar el hilo

Gracias
D.Valera
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable