Completar SQL delete |
Responder |
Autor | ||||||||||||||||||||||||||||||||||||
Abel
Nuevo Unido: 08/Julio/2019 Localización: España Estado: Sin conexión Puntos: 39 |
Tema: Completar SQL delete Enviado: 08/Julio/2019 a las 13:40 |
|||||||||||||||||||||||||||||||||||
Hola, Tengo una duda, a ver si me podeis ayudar. He hecho una consulta update sobre una tabla que he llamado tabla 3, la llamo desde un evento de formulario que me actualiza sólo un campo de la tabla 3 ( el campo VINVehiculo ). DoCmd.RunSQL "update tabla3 set VINVehiculo = '" & Form_Formulario1.VINVehiculo & "' WHERE id = (select id from tabla3 where Posicion= '" & Form_Formulario1.Posicion & "')" Hasta aquí perfecto. Ahora necesito crear otra consulta que me borre solo el mismo registro la tabla 3, no la línea completa, Este registro lo encuentra en un campo que se llama VINVehiculo de un formulario llamado formularioesp2 .pero cuando creo la sentencia me devuelve un error en la clausula FROM : DoCmd.RunSQL "delete from tabla3 set VINVehiculo = '" & Form_Formularioesp2.VINVehiculo & "' WHERE id = (select id from tabla3 where Posicion= '" & Form_Formularioesp2.Posicion & "')" Me podeis ayudar con esta sentencia delete por favor ? Gracias |
||||||||||||||||||||||||||||||||||||
Mihura
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 Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 08/Julio/2019 a las 14:12 | |||||||||||||||||||||||||||||||||||
¿Cuál es la diferencia entre borrar un registro y la línea completa? .... para mi es lo mismo.
La segunda consulta que pones es un *%&", mezclas una delete con una update. |
||||||||||||||||||||||||||||||||||||
Abel
Nuevo Unido: 08/Julio/2019 Localización: España Estado: Sin conexión Puntos: 39 |
Enviado: 08/Julio/2019 a las 15:37 | |||||||||||||||||||||||||||||||||||
Gracias Mihura, Seguro que no me expreso correctamente, disculpa. Para mi borrar un registro , debe equivaler a borrar la información de un campo conservando la información general del Id. Mira el ejemplo adjunto, yo con la consulta delete, lo que quiero es borrar la información sólo del campo VIN Vehiculo, no la de la posición. Podrias corregir mi consulta como crees que funcionaria ?
|
||||||||||||||||||||||||||||||||||||
Mihura
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 Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 08/Julio/2019 a las 15:50 | |||||||||||||||||||||||||||||||||||
Eso se llama inicializar ...
UPDATE tabla SET Campo = '' WHERE ID = 1 Son dos comillas simples.
|
||||||||||||||||||||||||||||||||||||
Abel
Nuevo Unido: 08/Julio/2019 Localización: España Estado: Sin conexión Puntos: 39 |
Enviado: 08/Julio/2019 a las 16:02 | |||||||||||||||||||||||||||||||||||
Gracias Jesus, La consulta update ya la hago bien, la que tengo problemas es la consulta delete, necesito ambas... disculpa si no me he expresado con claridad desde el inicio. En el primer mensaje me has indicado que mezclaba *%&" y no me ha quedado muy claro, donde cometo el error ? Mi consulta delete era, te pedia si por favor, podías corregir lo que no hacia bien, por aprenderlo. DoCmd.RunSQL "delete from tabla3 set VINVehiculo = '" & Form_Formularioesp2.VINVehiculo & "' WHERE id = (select id from tabla3 where Posicion= '" & Form_Formularioesp2.Posicion & "')" Gracias |
||||||||||||||||||||||||||||||||||||
Mihura
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 Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 08/Julio/2019 a las 16:17 | |||||||||||||||||||||||||||||||||||
DELETE borra (elimina, hace que desaparezca) un registro (fila) de una tabla.
UPDATE cambia el valor de uno o varios campos. Lo que tú llamas borrar es poner un campo a vacio, o nulo, o cero .... pero NO ES BORRAR. |
||||||||||||||||||||||||||||||||||||
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: 14720 |
Enviado: 08/Julio/2019 a las 16:46 | |||||||||||||||||||||||||||||||||||
Muchas veces el problema es la nomenclatura que se utiliza. Tenemos bases de datos, tablas, registros, campos y propiedades. Yo tengo clientes que a las tablas les llaman bases de datos. Hay que estar realizando una tarea de formación continua... en fin. En tu caso concreto necesitas actualizar un campo de un determinado registro de una tabla. En la primera SQL se trata de actualizar un campo a un valor; en el segundo de dejar un campo vacío. En ambos casos se trata de actualizar y no de borrar. Un saludo
|
||||||||||||||||||||||||||||||||||||
Abel
Nuevo Unido: 08/Julio/2019 Localización: España Estado: Sin conexión Puntos: 39 |
Enviado: 08/Julio/2019 a las 17:08 | |||||||||||||||||||||||||||||||||||
Gracias a ambos, teneis razón, hay muchas nomenclaturas y uno que es nuevo también comete errores, siempre es bueno aprender a hablar con propiedad. Ahora que os he pillado ( me ha costado lo mio... ) me da un error , me has dicho dos comillas simples pero tampoco..... que hago mal ?
DoCmd.RunSQL " update tabla3 SET VINVehiculo = " where ID = 1
|
||||||||||||||||||||||||||||||||||||
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: 14720 |
Enviado: 08/Julio/2019 a las 17:13 | |||||||||||||||||||||||||||||||||||
DoCmd.RunSQL "UPDATE tabla3 SET VINVehiculo = '' WHERE ID = 1"
Las primeras son comillas dobles; después del igual van 2 apostrofes y se cierra la línea con comillas dobles.
|
||||||||||||||||||||||||||||||||||||
Abel
Nuevo Unido: 08/Julio/2019 Localización: España Estado: Sin conexión Puntos: 39 |
Enviado: 08/Julio/2019 a las 17:18 | |||||||||||||||||||||||||||||||||||
Gracias Xavi, al final había llegado a la solución, pero una pregunta.... esto no esta actualizando mi registro de la tabla 3 a cero , vacio o nulo, no ejecuta ninguna acción sobre la tabla3
|
||||||||||||||||||||||||||||||||||||
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: 14720 |
Enviado: 08/Julio/2019 a las 17:30 | |||||||||||||||||||||||||||||||||||
Esa instrucción deberia actualizar UNICAMENTE el campo VINVehiculo a (vacío) del registro cuyo ID sea = 1 de la tabla3.
|
||||||||||||||||||||||||||||||||||||
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 |