Consulta de varios Checking Box
Estoy intentando hacer una consulta con access 2010 donde tengo una empresa con el nombre de la empresa y tres cheking box. En la consulta quiero que me muestre cual de los tres o los tres checking box son falsos. Ya que tengo ya una consulta donde salen que empresas tienen los tres checking box en verdadero
1 Respuesta
Lo más sencillo es que copies la consulta que te devuelve los e verdaderos, la abras en vista diseño y le modifiques los criterios para que te queden en falso, pero en distintas lineas, así:
De esta forma te devolverá los registros en que cualquiera de los 3 sea falso.
Un saludo.
Sí, siempre que los criterios los pongas en distintas filas.
Si los pones en la misma fila, se encadenan con el operador Y, lo que significa que se tienen que cumplir todos al mismo tiempo.
Al ponerlos en filas distintas, se encadenan con el operador O, lo que significa que se puede cumplir uno, u otro, u otro...
Tengo un formulario que pongo empresas y unos cuantos checking box donde algunos son son si y otros que son no. Porque les faltan documentos que entregar. Y mediante un informe me tienen que salir solo las empresas que les falta la documentación que entregar y los documentos que les falta. No se si me explico.
Ajá, ahora te entiendo. Pero eso lo tienes que hacer en el informe, no en la consulta.
El primer paso es hacer el informe sobre la consulta filtrada que hicimos antes.
El segundo, en el evento "Al dar formato" de la sección "Detalle" del informe, le pones este código:
Me.Check01.Visible=CBool(Me.Check01)
Me.Check02.Visible=CBool(Me.Check02)
Y así con todos los checks. Así si el valor es verdadero, se mostrará en el informe y si es falso, no. Creo que es lo que buscas, ¿no?
Si. Pongo lo siguiente:
Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
Me.Anex2.Visible = Not CBool(Me.Anex2)
Me.Anex3.Visible = Not CBool(Me.Anex3)
Me.FacturesPagatIngresos = Not CBool(Me.FacturesPagatIngresos)
Me.Instancia = Not CBool(Me.Instancia)
Me.DocIdentitat = Not CBool(Me.DocIdentitat)
Me.EscripturaSocietat = Not CBool(Me.EscripturaSocietat)
Me.DocIdentitatSubstitut = Not CBool(Me.DocIdentitatSubstitut)
Me.FotoSolicitatnt = Not CBool(Me.FotoSolicitatnt)
Me.FotoSubstitut = Not CBool(Me.FotoSubstitut)
Me.AltaIAE = Not CBool(Me.AltaIAE)
Me.AltaRETA = Not CBool(Me.AltaRETA)
Me.AltapolissaRCivil = Not CBool(Me.AltapolissaRCivil)
Me.Artesa = Not CBool(Me.Artesa)
Me.InscritRIAAC = Not CBool(Me.InscritRIAAC)
Me.FormacioManipAliments = Not CBool(Me.FormacioManipAliments)
Me.MesuresHigiene = Not CBool(Me.MesuresHigiene)
Me.MesuresProteccioAliments = Not CBool(Me.MesuresProteccioAliments)
Me.MesuresProteccioConsum = Not CBool(Me.MesuresProteccioConsum)
Me.MesuresHigienePersonal = Not CBool(Me.MesuresHigienePersonal)
Me.PagatFiança = Not CBool(Me.PagatFiança)
Me.DevolucioFiança = Not CBool(Me.DevolucioFiança)
End Sub
El código es correcto. Lo siguiente a comprobar es cómo abres el informe.
Tienes que hacerlo en Vista Preliminar, en cualquier otra vista no se ejecuta ese código.
Te subo un ejemplo funcionado, con lo que creo que quieres. Intenta adaptarlo a tus necesidades: http://www.filebig.net/files/gK6HpD2wK2
El error ese que muestras no sé de dónde viene si hiciste lo que te comenté.
Para que por defecto se te abran los informes en vista preliminar, le puedes cambiar esa propiedad en sus propiedades->pestaña formato->vista predeterminada.
Un saludo.
¡Gracias!
Hice todo lo que me dijiste. ¿Es fiable el link que me envías para abrirlo desde el trabajo?
Es una simple BD de access con una tabla, dos consultas y un informe, con el código de arriba. Yo diría que sí es fiable. XD
- Compartir respuesta