Access - Eliminar registro

 
Vista:
sin imagen de perfil

Eliminar registro

Publicado por Ramon Villalba (22 intervenciones) el 12/11/2013 17:58:47
Amigos... Creo que me estoy complicando mucho con lo que tengo, pero no le consigo solucion.

Tengo un formulario en el que se me muestra en un cuadro de lista el contenido de una tabla (Tabla A) con datos de personas (Id, nombre, etc).

Estoy intentando colocar en el formulario un boton que elimine el registro (en la tabla A) que tengo seleccionado en la lista dentro del formulario.

He intentado con esto:
var = Me.GradStuList.ItemData(vFila)
DoCmd.RunSQL "DELETE * FROM [Tabla A] WHERE 'Table!GraduateStudies!Id.value'='var' "

Creo que el error lo tengo en la referencia a la tabla, pero no se que hacer.

Gracias por su ayuda.
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

Eliminar registro

Publicado por Pablo (22 intervenciones) el 12/11/2013 19:27:56
Hace unos días tenía un problema similar en VBA, con una consulta SQL y me da que el tuyo es muy parecido.

Mi problema era introducir en la consulta una variable.

En tu consulta SQL hay dos cosas que no me cuadran:

WHERE debe ser un campo de [Tabla A]. Si en tu caso es un campo variable, conviertelo en variable fuera de la sentencia SQL.

Y después = 'var' está indicando a la consulta que busque el valor var, no el contenido de la variable.

Entonces desde mi punto de vista tendrías que hacer algo así:

1
DELETE * FROM [Tabla A] WHERE [Tabla A].[Campo de tabla A] = ' " & var & " ' "

Es decir tienes que "sacar" las variables de la sentencia SQL
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
sin imagen de perfil

Eliminar registro

Publicado por Ramon Villalba (22 intervenciones) el 12/11/2013 20:53:30
Gracias por tu respuesta.... efectivamente, lo he intentado de esa manera, pero me sigue lanzando error. (3464)

DoCmd.RunSQL "DELETE * FROM [GraduateStudies] WHERE [GraduateStudies].[Id] = ' " & var & " ' "


Esa es la linea que estoy usando, GraduateStudies es la tabla de donde quiero eliminar, 'var' es el numero de id (seleccionado en la lista). Entonces quiero eliminar mi 'GraduateStudies.id' que sea igual a 'var'. Ej: si var =56, quiero eliminar el registro con Id=56 de GraduateStudies.
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

Eliminar registro

Publicado por Pablo (22 intervenciones) el 12/11/2013 22:01:43
Bueno, hay una cuestión.

Yo no sé programar,

así es que lo hago es colocarme Msgbox var cada vez que inicializo una variable no sea que yo crea que vale "25" y valga "Antonio".

Me ha sacado de mas de un apuro.
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Eliminar registro

Publicado por Norberto (753 intervenciones) el 13/11/2013 14:03:38
Hola.

Si id es numérico te sobran las comillas. Pon:

DoCmd.RunSQL "DELETE * FROM [GraduateStudies] WHERE [GraduateStudies].[Id] = " & var

Un saludo,

Nor.
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
sin imagen de perfil

Eliminar registro

Publicado por Ramon Villalba (22 intervenciones) el 14/11/2013 16:34:28
Correcto! Eso es lo que me faltaba! Funciona 100%. Gracias!!

Ahora tengo problemas con el Requery, pero nada de que preocuparse.
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