versión 11 (Modificado)
DELETE SUBRECORD (subtabla)
Parámetro | Tipo | Descripción | |
subtabla | Subtabla | Subtabla de la cual borrar el subregistro actual |
Nota de compatibilidad: Las subtablas no son soportadas a partir de la versión 11 de 4D. Un mecanismo de compatibilidad asegura el funcionamiento de este comando en bases compartidas; sin embargo, es recomendable remplazar las subtablas con tablas relacionadas estándar.
Descripción
DELETE SUBRECORD borra el subregistro actual de subtabla. Si no hay subregistro actual, DELETE SUBRECORD no tiene efecto. Después de borrar el subregistro, la subselección actual de subtabla queda vacía. Como resultado, DELETE SUBRECORD no puede utilizarse para recorrer una subselección y borrar los subregistros seleccionados.
La eliminación de un subregistro no es definitiva hasta que el registro padre se guarde. La eliminación de un registro padre borra automáticamente todos sus subregistros.
Para eliminar una subselección, cree la subselección, borre el primer subregistros, recree la subselección, borre el primer subregistro, etc.
Ejemplos
1. El siguiente ejemplo borra todos los subregistros de una subtabla:
ALL SUBRECORDS([Personas]Niños) While (Records in subselection([Personas]Niños)>0) DELETE SUBRECORD([Personas]Niños) ALL SUBRECORDS([Personas]Niños) End while
2. El siguiente ejemplo borra de la subtabla [Personas]Niños los subregistros en los cuales la edad de los niños es superior o igual a 12 años:
ALL RECORDS([Personas]) ` Selección de todos los registros For ($vlRegistro;1;Records in selection([Personas])) ` Para todos los registros en la tabla ` Buscar todos los registros que tienen subregistros que corresponden al criterio QUERY SUBRECORDS([Personas]Niños;[Personas]NiñosEdad>=12) ` Bucle hasta que la búsqueda no encuentre más subregistros While (Records in subselection([Personas]Niños)>0) ` Borrar el subregistro DELETE SUBRECORD([Personas]Niños) ` Búsqueda nuevamente QUERY SUBRECORDS([Personas]Niños;[Personas]NiñosEdad>=12) End while SAVE RECORD([Personas]) ` Guardar el registro padre NEXT RECORD([Personas]) End for
Ver también
ALL SUBRECORDS, QUERY SUBRECORDS, Records in subselection, SAVE RECORD.