Actualizar campo de un registro seleccionado en cuadro de lista

Tengo una base de datos que tiene una tabla (parejas) y un formulario (eliminar parejas). El formulario tiene un cuadro de lista en el que se pueden seleccionar los distintos registros de la lista (solo se puede seleccionar uno, no permite seleccionar más de uno simultáneamente). La tabla (parejas) tiene un campo si / no

Estoy volviendome loco intentando que, seleccionando un item en el cuadro de lista, pueda cambiar el valor si / no del registro seleccionado, pero no consigo dar con el código...

1 respuesta

Respuesta
2

Una idea:

En el evento "Al hacer doble click" (o "al hacer click") del cuadro de lista le generas este código:

CurrentDb.Execute "UPDATE Parejas Set NombreCampoSiNo=Not NombreCampoSiNo WHERE NombreCampo=" & Me.NombreCuadroLista

Me. NombreCuadroLista. Requery

Donde NombreCampoSiNo lo has de cambiar por el nombre del campo si/no que tienes en la tabla, NombreCampo será el campo que contiene el valor que devuelve el cuadro de lista y NombreCuadroLista el nombre que tiene el cuadro de lista en el formulario.

Como dicho así parece un rollo, te dejo un mini-ejemplo hecho "al vuelo": http://www.filebig.net/files/NJRK5eP7GG

Un saludo!


Muchas gracias por tu ayuda, Sveinbjorn el Rojo

Me sigue dando error, pero no termino de encontrar dónde está el fallo. El evento "al hacer clic" lo he puesto no sobre la propia lista, sino sobre un botón que hace referencia a esta, llamado "eliminar pareja". En concreto, el código me queda tal y como sigue:

CurrentDb.Execute "UPDATE Parejas Set Bloqueada=Not Bloqueada WHERE ID Pareja=" & Me.Lista17

"Parejas" es el nombre de la tabla.

"Bloqueada" es el nombre del campo si/no

"ID Pareja" es el nombre del campo que contiene el valor que devuelve el cuadro de lista

"Lista17" es el nombre del cuadro de lista

Cuando ejecuto el código al pulsar el botón "eliminar pareja", me aparece el siguiente mensaje de error:

"Se ha producido un error '3075' en tiempo de ejecución: error de sintaxis (falta operador) en la expresión de consulta 'ID Pareja= Beatriz - David'."

En este caso Beatriz - David es el nombre del registro asociado, así que hasta ahí bien, aunque no consigo encontrar qué operador es el que falta

Muchas gracias

Pon el campo entre corchetes, así: [ID Pareja]

Intenta evitar nombres con espacios, acentos y signos "raros", pues con eso solo consigues complicar el código.

Sigue dándome el mismo error... he probado también cambiando el nombre del campo y quitándole el espacio (IDPareja), pero sigue diciendo lo mismo, que falta un operador en la consulta...

¡Es para volverse loco!

"ID Pareja" entiendo que es un campo autonumérico, y por lo que cuentas, tu cuadro de lista devuelve un valor de texto.

Cambia la SQL por esta:

CurrentDb.Execute "UPDATE Parejas Set Bloqueada=Not Bloqueada WHERE Campo='" & Me.Lista17 & "'"

Donde campo será el campo de tu tabla parejas que tiene el dato "Beatriz - David" y similares.

Al final lo he conseguido resolver... el campo ID Pareja era autonumérico, pero no es el que estaba vinculado al cuadro de lista, así que daba error. Ya lo he vinculado y ahora sí que funciona.

Mil gracias, sin tu ayuda no habría podido conseguirlo... ¡ahora va perfecto!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas