ORDA et structure virtuelle

Question stupide du jour :oops: : Si on utilise une structure virtuelle et que l’on souhaite faire des recherches ORDA de la sorte :

$ES:=ds.banque.query (ID = :1:; 1)
$Resultat:=$ES[OB.NomChamp]

avec OB.NomChamp une chaine contenant le nom du champ.

Que doit/peut contenir OB.NomChamp pour que le code fonctionne : le nom du champ dans la structure virtuelle, ou le nom réel dans la structure de la base, ou les 2 fonctionneraient :?:

Merci de votre éclairage :idea: :mrgreen:

Comme avec du code classique ou SQL, faut utiliser le nom “en dur”. L’autre n’est qu’un habillage d’interface.

Merci pour ta réponse. C’est dommage que les 2 ne fonctionnent pas ; Cela dans le cadre d’une API que l’on met à disposition à nos clients finaux pour faire des états semi-automatiques ou des colonnes de listbox calculées. Il faudra que je regarde ce qui est mis en avant dans l’éditeur de formule dans ces 2 cas. Il faut que la personne puisse connaître le nom du champ exact pour pouvoir l’utiliser dans ces formules.

Merci pour ta réponse. C’est dommage que les 2 ne fonctionnent pas
Hier en v17r4 j’ai eu besoin de faire un état. Après insertion d’un champ, j’édite sa formule, j’ai les noms réels dans la liste des champs en haut et le nom virtuel dans la zone formule en bas ; dès que je clique dans cette formule, affichage d’une erreur de syntaxe (en rouge “nom de table ou de champ inconnu”). Je ne vois pas d’autre explication qu’un bug, d’après la doc : « FIXER TITRES TABLES vous permet de masquer, renommer et réordonner les tables de votre base qui apparaissent dans les éditeurs standard de 4D en mode Application (lorsque ces éditeurs sont appelés via des commandes du langage de 4D). »
En cherchant (vite et mal) ce que sont les “éditeurs standards” je trouve https://doc.4d.com/4Dv15/4D/15.6/Introduction.300-3818452.fr.html"saisie, recherches, tris et créations d’états…">. Je ne sais pas si les points de suspension englobent l’éditeur de formule, dans la page https://doc.4d.com/4Dv18/4D/18/EDIT-FORMULA.301-4505743.fe.htmlEDITER FORMULE> le mot “virtuel” n’apparaît pas.
Un peu flou tout ça…

Mon cher Arnaud, comment te dire, tu oublis le fameux paramètre “*” des commandes https://doc.4d.com/4Dv18/4D/18/FIXER-TITRES-TABLES.301-4504668.fr.htmlFIXER TITRES TABLES> et https://doc.4d.com/4Dv18/4D/18/FIXER-TITRES-CHAMPS.301-4504658.fr.htmlFIXER TITRES CHAMPS>

Et je confirme que cela fonctionne en v18 j’ai bien mes traduction de structure qui s’affichent dans l’editeur de formule.

Qui plus est, j’ai l’impression (à confirmer :doubt:) que les 2 orthographes de champ sont acceptées dans l’écriture des formules !

Si c’est bien le cas, cela me gêne d’autant plus que ce même comportement ne soit pas possible en ORDA.

tu oublis le fameux paramètre “*”
non.

Un peu court jeune homme…

À moins d’un bug spécifique de la v17R4 (que je n’ai jamais utilisée comme toutes les R releases :razz:) Ce que tu décris laisse à penser que tu n’as PAS utilisé le paramètre “*” (à la fin des commandes listées plus haut qui permet justement d’afficher le nom de la structure virtuelle dans la liste et non pas comme tu le décris le nom réel :twisted:

En plus, (en v18) il semble que dans l’expression de la formule les 2 sont autorisés car le bouton de validation est actif sans aucun affichage de message d’erreur.

Par contre, j’aimerais bien pouvoir passer dynamiquement (via un widget dans l’interface de l’éditeur de formule) l’affichage de la liste entre la structure réelle et la structure virtuelle ; ça permettrait de faire des formules ORDA bien qu’utilisant la structure virtuelle par ailleurs.