4D v16 le ofrece una integración mejorada de los campos objeto en su base de datos.
Si ya ha preseleccionado conjuntos de un campo objeto, ahora puede consultar estos conjuntos utilizando un solo comando 4D: ¡fácil y rápido!
El comando QUERY SELECTION BY ATTRIBUTE funciona exactamente igual que el comando QUERY BY ATTRIBUTE comando existente, excepto que la búsqueda se realiza entre los registros actualmente seleccionados por una consulta previa o un conjunto, por ejemplo
// pedir una ciudad al usuario para realizar la consulta
$value:=Solicitar("Ciudad"; "Springfield")
$recordInSet:=Recordsin set("userSet")
//
// ¿El conjunto (selección) está vacío?
Si ($recordInSet>0)
// puede estar en atributos de primer nivel
QUERY BY ATTRIBUTE([Samples];[Samples]OB_Field; "City";"=";$value;*) // la consulta no está terminada...
// o en una dirección (con ruta de acceso)
QUERY BY ATTRIBUTE([Muestras]; | ;[Muestras]OB_Field; "Dirección.Ciudad";"=";$valor;*) // la consulta aún no
ha terminado…
// o en un array de direcciones (con ruta .[].)
QUERY SELECTION BY ATTRIBUTE([Samples]; | ;[Samples]OB_Field; "Address.[].City";"=";$value) // ¡ahora, la consulta se ejecuta!
//
// Puede mezclar diferentes comandos de consulta para definir la consulta
//
Else
// la selección está vacía, avisa al usuario
ALERT("No hay contactos seleccionados. Por favor, seleccione los contactos de la lista.")
End if
Puede encontrar más detalles en la documentación del comando QUERY SECTION BY ATTRIBUTE.