Borrar registros que tienen campos vacíos

Tengo una base de datos con una tabla llamada TbPedidos

Con algunos campos, uno de ellos es un campo llamado Fech_Ped.

Algunos registro tienen este campo vacío.

como puedo hacer para borrar todos estos registros por medio de codigo

use este codigo pero no funciona:   borra = "DELETE FROM TbPedidos WHERE isnull(Fec_ped)"

1 Respuesta

Respuesta
1

Lo tienes casi perfecto, pero con una pequeña diferencia

Docmd. Runsql"delete * from TbPedidos where Fec_Ped is null"

¡Gracias! 

Julián Muchas Gracias.

Quisiera configurar la misma acción pero borrando datos de otra tabla TbDetalle relacionada con el campo Num_Ped.

Borrar los registros de la Tabla TBDetalle que en su relación con la tabla TbPedidos no contiene datos en el campo Fech_Ped.

intente con este código:

DoCmd.RunSQL "delete * from TbDetalle  where (TbPedidos) Fech_Ped is null"

Muchas Gracias

Puedes hacerlo de varias formas. Por ejemplo, en las propiedades de la relación ponerle que elimine en cascada los campos relacionados, de forma que cuando elimines los registros que sea de la tabla Pedidos, también te elimina de la tabla DetallePedido aquellos que tengan, por ejemplo, los mismo Idpedido que acabas de eliminar.

Otra forma, sin tener esa particularidad en la relación. Si tengo la tabla Compras

Puedes ver que hay dos en que fechacomp es nulo. También tengo la tabla Detallecompra

En el formulario Compras le pongo un botón, aunque podría estar en cualquier otro lado, o en cualquier otro evento

Puedes ver que hay tres registros de compras, dos sin fecha. Cuando pulso el botón, primero elimina los de la tabla DetalleCompra y luego los de la tabla Compras

Puedes ver que me ha dejado un sólo registro y las tablas

Y DtelleCompra

En este caso, el código del botón es

Private Sub Comando36_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "delete * from detallecompra where idcompra=dlookup(""idcompra"",""compras"",""fechacompra is null"")"
DoCmd.RunSQL "delete * from compras where fechacompra is null"
Me.Requery
End Sub

Es decir, elimíname de la tabla Detallecompra todos aquellos registros en que su Idcompra sea igual a los Idcompra de la tabla Compras en que su campo Fechacompra sea nulo.

Luego eliminale los de la tabla Compras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas