Como puedo eliminar las Cabeceras de aquellos Pedidos que estén sin contener ninguna Línea de Venta

Necesito una Consulta de eliminación para poder borrar todas las Cabeceras de aquellos Pedidos que NO contengan ninguna línea de Venta.?

Tabla Cabecera: PEDIDOSCABECERA

Tabla Lineas: PEDIDOSLINEAS

Estan entrelazadas a traves del Campo: IDPedido

2 respuestas

Respuesta
2

Prueba con esta instrucción SQL. Cree un botón por ejemplo btnReteirar y en el evento Al hacer clic adicione estas instrucciones:

DoCmd. SetWarnings(False)

Docmd. RunSQL "DELETE * FROM PEDIDOSCABECERA WHERE IDpedido Not In (SELECT IDpedido FROM PEDIDOSLINEAS);"

Respuesta
1

No necesitas ninguna consulta, pero ya verás como aparece un idiota que te diga que sí. Si tengo la tabla Ventas, donde hay dos registros que tienen registros relacionados( puedes verlo por el campo Importe) y otros dos que no los tienen en la tabla DetalleVenta

Si tengo cualquier formulario, en cualquier evento, pero para el ejemplo he puesto un botón

Cuando lo pulso

Me ha eliminado aquellos que no tienen registros relacionados en la tabla DetalleVenta, y el código no puede ser más sencillo.

Private Sub Limpiar_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM VENTAS WHERE idventa NOT IN (SELECT idventa FROM DetalleVenta)"
End Sub

Donde pongo Ventas y DetalleVenta tienes que cambiarlo por tus nombre y el IdVenta por tu Idpedido

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas