¿Cómo eliminar un registro en una tabla Access con una consulta de eliminación?

Tengo una tabla denominada tbl_Fabricacion, y tengo un formulario independiente. Cuando entro en el formulario se carga la fecha y un autonumerio que es ID de la tbl_Fabricacion. Lo que quiero es que al salir mediante un botón después de dar opción de salir o no, si ledigo que salgo sin guardar me elimine los datos, es decir ese registro en concreto, ya que no me interesa guardarlo, de la tbl_Fabricacion. He creado una consulta de eliminación de esa misma tbl_Fabricacion, y al ejecutarla lógicamente me elimina todos los registros de la tabla, yo solo quiero eliminar uno en concreto, el del campo IdPrincipal en el que me encuentro.

Como codigo tengo docmd. OpenQuery "EliminarAutonumerico", logicamente con esto lo elimino todo. La pregunta es ¿qué debo de poner en criterios de la consulta para eliminar solo ese registro?

3

3 respuestas

Respuesta
2

Si tu formulario es independiente de la tabla tbl_Fabricacion, como dices, no te guarda los valores que escribas en él en la tabla a menos que se lo indiques expresamente, ya sea por medio de un recordset, una consulta de datos anexados/actualización... por tanto, si tu formulario es realmente independiente, al salir no tendrías que hacer nada...

Por lo que comentas, tu formulario no es independiente, o en algún momento previo guarda los nuevos valores en la tabla (deberías pedir confirmación para hacerlo, y así te evitas problemas...). Una solución posible, en la línea que comenta Antonio, pero usando tu consulta de eliminación, sería que en el diseño de la consulta "EliminarAutonumerico", en la columna (si no te aparece lo añades) del campo IdPrincipal (o como se llame), le añadas como criterio:

[Formularios]![NombreDeTuFormulario]![IdPrincipal]

Respuesta
2

Si tuviera que aconsejarte te diría que lo hicieras directamente desde el formulario. Si tengo la tabla

Como puedes ver hay seis registro y el último Idcliente es el 6.

Si tengo un formulario, y en un registro nuevo pongo datos

Si pulso el botón Eliminar, me aparece un mensaje

Si le digo que sí

Como puedes ver el registro 7 ha desaparecido, vuelve a los que había. El código del botón es

Como no sé lo que quieres hacer en caso de decirle que no lo elimine, te lo he puesto como comentario( en verde)

La consulta de eliminación no funciona así como propones. Previamente habrías de guardar ese registro, para que tenga "existencia".

Respuesta
1

Prueba lo siguiente.

DoCmd.RunSQL "DELETE * FROM Mitabla WHERE MiID = " & Me.NombreDelCuadroDeTextoQueTieneElID

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas