Compartir a través de


Instrucción DELETE (Microsoft Access SQL)

Se aplica a: Access 2013, Office 2013

Crea una consulta de eliminación que elimina los registros de una o varias tablas enumeradas en la cláusula FROM que cumplen la cláusula WHERE.

Sintaxis

DELETE [table.*] FROM table WHERE criteria

La instrucción DELETE consta de las siguientes partes:

Part

Descripción

tabla

Nombre opcional de la tabla de la que se eliminan los registros.

tabla

Nombre de la tabla de la que se eliminan los registros.

criterios

Expresión que determina qué registros se van a eliminar.

Comentarios

DELETE resulta especialmente útil para eliminar muchos registros.

Para eliminar una tabla completa de la base de datos, puede usar el método Execute con la instrucción DROP. Sin embargo, si elimina la tabla, se pierde la estructura. En contraste, si se usa DELETE, sólo se eliminan los datos; la estructura de la tabla y todas las propiedades de la tabla, como los atributos de campo y los índices, permanecen intactos.

Puede usar DELETE para eliminar registros en tablas que formen parte de una relación de uno a varios con otras tablas. Las operaciones de eliminación en cascada causan que los registros de las tablas que se encuentran en el lado varios de la relación se eliminen cuando el registro correspondiente del lado uno de la relación se elimina en la consulta. Por ejemplo, en la relación entre las tablas Clientes y Pedidos, la tabla Clientes se encuentra en el lado uno y la tabla Pedidos se encuentra en el lado varios de la relación. Si se elimina un registro de Clientes, se eliminan los registros correspondientes de Pedidos si se ha especificado la opción de eliminación en cascada.

Una consulta de eliminación elimina registros completos, no sólo los datos de campos específicos. Si desea eliminar valores en un campo específico, cree una consulta de actualización que cambie los valores a Null.

Importante

  • Después de eliminar registros con una consulta de eliminación, no se puede deshacer la operación. Si desea saber qué registros se han eliminado, examine primero los resultados de una consulta de selección que utilice los mismos criterios y, después, ejecute la consulta de eliminación.
  • Mantenga copias de seguridad de los datos en todo momento. Si elimina los registros incorrectos, podrá recuperarlos de las copias de seguridad.

Ejemplo

En este ejemplo, se eliminan todos los registros de empleados cuyo título sea Trainee (Aprendiz). Si la cláusula FROM sólo incluye una tabla, no es necesario enumerar el nombre de la tabla en la instrucción DELETE.

    Sub DeleteX() 
     
        Dim dbs As Database, rst As Recordset 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Delete employee records where title is Trainee.     
        dbs.Execute "DELETE * FROM " _ 
            & "Employees WHERE Title = 'Trainee';" 
         
        dbs.Close 
     
    End Sub