Access - Activar Casilla Verificacion

   
Vista:

Activar Casilla Verificacion

Publicado por Oscar (13 intervenciones) el 28/05/2009 23:24:54
Hola, a ver si podeis ayudarme con esto. Tengo un formulario independiente, en él, tengo un Cuadro de Lista llamado Lista215, que tiene ocho columnas, el origen del control es una sentencia que muestra los campos de una tabla llamada Tbl003, el último de los campos es una Casilla de Verificación Valor predeterminado Desactivada. Tengo puesto en el Evento al hacer Click del Cuadro de Lista215, que traslade algunos de esos valores a otros objetos o cuadros de texto que al final grabaran esos valores en otra tabla distinta. Pues bien, quiero que al hacer ese Click sobre la fila elegida por el usuario del Cuadro de Lista215, se active la Casilla de Verificación pero no lo consigo. Estuve mirando en la ayuda de Access que estas casillas actuan como variables de tipo Boolean, y puse enel código, Me.CasillaVerificacion =True, pero no funciona. Gracias
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

RE:Activar Casilla Verificacion

Publicado por Enrique (1299 intervenciones) el 29/05/2009 10:58:51
Se podría hacer con una consulta de actualización por código, pero necesitas que alguna de las columnas del cuadro de lista sea un campo de la Tabla que identifique cada registro de forma única (que no se repita) como por ejemplo, Codigo, NIF, DNI, etc.

Supongamos que ese campo está situado el primero en la Tabla y es de Texto, entonces será la columna Cero en el Cuadro de Lista. Usamos el Evento "Al hacer Click" del Cuadro de Lista:

Private Sub Lista215_Click()
DoCmd.RunSQL "Update Tbl003 Set Casilla = True Where Codigo ='" & Lista215.Column(0, Lista215.ListIndex) & "'"
End Sub

Si el campo Codigo fuera Numérico:
Private Sub Lista215_Click()
DoCmd.RunSQL "Update Tbl003 Set Casilla = True Where Codigo =" & Lista215.Column(0, Lista215.ListIndex)
End Sub

Donde Casilla sería el nombre del campo tipo Casilla de verificación en la tabla. No es necesario que el Cuadro de Lista contenga la columna de la casilla de verificación, ni siquiera de forma oculta.

Prueba a ver.

Saludos
Enrique
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

RE:Activar Casilla Verificacion

Publicado por Oscar (13 intervenciones) el 30/05/2009 14:51:04
Hola Enrique y perdona por tardar tanto en ver y responder. Hice lo que me dices pero me pide el parámetro Codigo que hay en las lineas que me pusiste. ¿A qué se refiere ese 'Codigo'? Gracias
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

RE:Activar Casilla Verificacion

Publicado por Enrique (1299 intervenciones) el 30/05/2009 19:22:59
Hola Oscar:
Puse "Codigo" a modo de ejemplo porque desconozco que campo de tu Tabla es Indexado: Sí (Sin Duplicados) o sea, que no se repite en otros registros. Tienes que sustituir "Codigo" por un campo dicha Tabla que sea de ese tipo. Realmente no es necesario que sea Indexado sin duplicados, basta con que tu sepas con seguridad que no se repite.

Además, como te decía, si ese campo está situado en la Tabla el primero, será la Columna Cero del Cuadro de Lista, pero si está en otra posición deberás cambiar: Lista215.Column(0......... por Lista215.Column(X....... donde X será la posición real del campo en la Tabla, teniendo en cuenta que la primera Columna es la 0, la segunda es la 1, la tercera es la 2, etc

En el caso de que el Origen de la fila del Cuadro de lista, no sea directamente la Tabla, sino una consulta, podría darse el caso de que la posición de las columnas cambie con respesto a la Tabla ya que en una Consulta se pueden omitir campos o cambiarlos de lugar. Pero precisamente este campo del que hablamos, si es necerario que forme parte del Origen de la fila del Cuadro de Lista.

Inténtalo que no es dificil.

Saludos
Enrique
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

RE:Activar Casilla Verificacion

Publicado por Oscar (13 intervenciones) el 31/05/2009 21:16:48
Hola Enrique, eh conseguido que medio funciones, solo que me pone cada casilla de verificación Activada, es decir si la tabla tiene tres registros las tres casillas se activan. ¿que puedo haber hecho mal? Gracias
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

RE:Activar Casilla Verificacion

Publicado por Enrique (1299 intervenciones) el 01/06/2009 12:22:36
Hola Oscar:
Pués sin duda lo que haces mal es aplicar incorrectamente el criterio de restricción de registros, es decir, lo que vá después del WHERE.

Dime como se llama el Campo de la Tabla que usas de criterio (ese que te decía yo el sábado que debe ser único).

Dime tambien en qué posición del cuadro de Lista está ese campo, aunque lo tengas con ancho de campo = 0 cm. (invisible en el cuadro de lista), porque ya te dije hafe unos días que es NECESARIO que esté en la Lista.

Con estos dos detalle posiblemente pueda ver donde tienes el error.

Un saludo
Enrique
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

RE:Activar Casilla Verificacion

Publicado por Oscar (13 intervenciones) el 01/06/2009 19:27:08
Hola Enrique, verás el campo que uso de criterio se llama [Total], es tipo Autonumérico indexado = Si, (Sin Duplicados). Como me digiste y teniendo en cuenta que el origen del Control del Campo Lista215, es una Consulta SQL, te la Detallo :
SELECT [Tbl003 Consulta].Concepto, [Tbl003 Consulta].DiaPendiente, [Tbl003 Consulta].Tope, [Tbl003 Consulta].Pendientes, [Tbl003 Consulta].Año, [Tbl003 Consulta].Fecha, [Tbl003 Consulta].[Off] FROM [Tbl003 Consulta];

Puse el campo verificación en ese origen del control y en la consulta por supuesto, es el que llamo [Off]. Y esto de abajo es loque tengo puesto en el Evento al hacer Click, del Cuadro Lista215:

Private Sub Lista215_Click()
DoCmd.RunSQL "Update Tbl003 Set Off = True Where Total =" & Lista215.Column(6, Lista215.ListIndex)

Me.TODOS = Me.Lista215.Column(0)
Me.Cuadro_combinado187 = Me.Lista215.Column(3)
Me.Texto188 = Me.Lista215.Column(4)
End Sub

Ahora me sale un mensaje adviertiendo de la actualizacion de la consulta, pero sigue sin activarse la casilla de verificación. Gracias Enrique por el interés.
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

RE:Activar Casilla Verificacion

Publicado por Enrique (1299 intervenciones) el 01/06/2009 20:21:13
Hola Oscar:
Me parece que ya veo el error. El campo Off que es la casilla de verificación, NO es necesario que forme parte de la Consulta Origen de la Fila del Cuadro de Lista, sin embargo el campo Total si es necesario que esté y es precisamente el que tu NO HAS PUESTO.

Como el Campo Off lo tienes puesto en la posición 7 de la Consulta, es por tanto la Columna 6 del Cuadro de Lista. En ese caso la línea que ejecuta la consulta la dejas como está y en la consulta QUITA el campo Off y AÑADE en su lugar el campo Total de forma que se quede en la posición 7.

Para que no te salga el mensaje advirtiendo de la actualización, en la ventana de Base de datos, pulsa Herramientas / Opciones / Pestaña Modificar/Buscar y desmarca la casilla Consultas de acción.

Si sigues estos pasos, ya te deberá de funcionar.

Saludos
Enrique
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

RE:Activar Casilla Verificacion

Publicado por Oscar (13 intervenciones) el 01/06/2009 21:29:38
Gracias Enrique, voy a mirarlo esta misma noche en el curro, que la noche es muy larga. Ya te digo mañana.
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

RE:Activar Casilla Verificacion

Publicado por Oscar (13 intervenciones) el 02/06/2009 02:31:39
Hola Enrique, anduve intentando solucionar el problema pero sigue sin funcionar, lo he colgadoen sedscape, si no te importa echale un viztazo, no mires más que eso ya que la BD es un desastre. Abre formulario1 y usa e priemr registro del TexBox [O33], la contraseña es O33. Gracias

http://www.sendspace.com/file/axezdf
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

RE:Activar Casilla Verificacion

Publicado por Oscar (13 intervenciones) el 06/06/2009 13:35:55
Hola de nuevo Enrique, perdona que insista pero es que sigo con los problemas de la casilla de verificación. He observado que si tengo tres registros en el cuadro de lista y por ejemplo tienen en el campo [Total], que era el que usabamos como criterio, recuerdas tenia que ser sin duplicados, lo tengo como autonumerico indexado sin duplicados, así que esos campos son 1,2,3; bien pues si cliqueo sobre el cuadro de lista, sobre el registro que tiene el [Total] en el número 3, me actualiza todas las casillas de verificación, si cliqueo sobre el número 1, actualiza solo la número 2, y si cliqueo sobre el número 2 actualiza la número 1. No se si te servirá de pista para llegar a saber que pasa con esto. Yo no consigo dar con la tecla. Gracias.
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