|
Responder
|
| Autor | |
Nomada
Colaborador
Unido: 03/Julio/2011 Localización: España Estado: Sin conexión Puntos: 1759 |
Tema: Borrar contenido campo tablaEnviado: 20/Noviembre/2019 a las 18:14 |
|
Buenas. Tengo un formulario continuo basado en la consulta de dos tablas, cuya relación es de uno a varios (T_Tabla1, T_Tabla2). Al insertar datos en la consulta en el campo Nombre de la T_Tabla2, hay un campo de la tabla T_Tabla1 AAA el cual toma el dato de un calculo. Este dato se repite en todos los registros relacionados, de ambas tablas, con el campo NumRegistro de la consulta. Hasta aquí todo normal. Ejemplo: T_Tabla1 T_Tabla1 T_Tabla2 NumRegistro AAA Nombre 0001 48.8 Arsenio 0001 48.8 Luis 0001 48.8 Adolfo 0002 35.0 Ernesto 0002 35.0 Fabian Ahora al borrar en la consulta, por ejemplo, todos los registros relacionados del número 0002, borra bien todos los registros en la consulta, quedando la consulta vacía. Es decir, borra todos los registros de la tabla T_Tabla2. Ahora si abro la tabla T_Tabla1, aparece un registro con NumRegistro 0002 donde sigue el valor 35.0 en el campo AAA. Este único registro 0002 de la tabla T_Tabla1 está correcto, pero cómo borraría el valor 35.0 del campo AAA desde el formulario en el que estoy? Perdonar pero no se cómo explicarlo de otra forma. Gracias y un saludo.
Editado por Nomada - 20/Noviembre/2019 a las 18:55 |
|
![]() |
|
mounir
Colaborador
Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6521 |
Enviado: 20/Noviembre/2019 a las 23:25 |
|
Hola!
Una consulta de actualización te podría valer:- UPDATE T_Tabla1 SET T_Tabla1.AAA = "" WHERE (((T_Tabla1.NumRegistro)=0002)); Y si no hay mas que un registro no hace falta poner: WHERE (((T_Tabla1.NumRegistro)=0002)) Editado por mounir - 20/Noviembre/2019 a las 23:27 |
|
|
Un Saludo.
|
|
![]() |
|
Nomada
Colaborador
Unido: 03/Julio/2011 Localización: España Estado: Sin conexión Puntos: 1759 |
Enviado: 21/Noviembre/2019 a las 11:13 |
|
Gracias. Mi problema es la sintaxis. Escribiendo tal cual me dices, o todo en la misma línea me da error de sintaxis. Si separo el SET y el WHERE, uno en cada línea, me dice que no se ha definido Sub o Function. Alguna sugerencia? Aclarar que el campo AAA de la tabla T_Tabla1 es Numérico, Simple, 2 decimales.
Editado por Nomada - 21/Noviembre/2019 a las 11:15 |
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Enviado: 21/Noviembre/2019 a las 11:30 |
|
¿Error de sintaxis?
¿Lo estás escribiendo tal cual en el código? Si es así (es lo que parece) no vamos bien. Debes meterlo todo en una cadena de texto u lanzar la consulta con DoCmd.RunSQL laconsulta o con CurrentDb.Execute laconsulta Un saludo
|
|
![]() |
|
Nomada
Colaborador
Unido: 03/Julio/2011 Localización: España Estado: Sin conexión Puntos: 1759 |
Enviado: 21/Noviembre/2019 a las 13:41 |
|
Gracias xavi. El problema lo daba el campo AAA, pues como dije es Numérico. Ahora, con el código: DoCmd.RunSQL "UPDATE T_Tabla1 SET T_Tabla1.AAA = Null WHERE T_Tabla1.NumRegistro = vNum" funciona perfectamente, pero con el código: CurrentDb.Execute "UPDATE T_Tabla1 SET T_Tabla1.AAA = Null WHERE T_Tabla1.NumRegistro= vNum" me dice: "Pocos parámetros. Se esperaba 1 Ha que se refiere?
|
|
![]() |
|
mounir
Colaborador
Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6521 |
Enviado: 21/Noviembre/2019 a las 14:05 |
|
Hola!
Lo mas importante aquí es el campo NumRegistro que tiene toda la pinta de ser de tipo Texto por eso te falta comillas simples:- CurrentDb.Execute "UPDATE T_Tabla1 SET T_Tabla1.AAA = Null WHERE T_Tabla1.NumRegistro= '" & vNum & "' " |
|
|
Un Saludo.
|
|
![]() |
|
Nomada
Colaborador
Unido: 03/Julio/2011 Localización: España Estado: Sin conexión Puntos: 1759 |
Enviado: 21/Noviembre/2019 a las 14:25 |
|
Ahora sí. Perfecto. Gracias Mounir por tu tiempo. Este hilo se puede cerrar satisfactoriamente. Saludos a todos. |
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |