Objets et Datastore

Passer un enregistrement vers un objet est un jeu d’enfant avec ORDA, mais comment le faire en passant une variable pour le nom de la Table ?

<code 4D>

C_OBJET($o_entity;$o_table)
$o_table:=Créer objet(“name”;“MATABLE”)

 $o_entity:=ds.[$table.name].get([MATABLE]ID)

</code 4D>

génère un message d’erreur par exemple.
La syntaxe est peut-être mauvaise ou alors c’est peut-être trop demander aux objets ?

si quelqu’un a une idée… :pray:

Ok je viens de trouver mon erreur. Il fallait écrire :

<code 4D>
C_OBJET($o_entity;$o_table)
$o_table:=Créer objet(“name”;“MATABLE”)

$o_entity:=ds[$o_table.name].get([MATABLE]ID)
</code 4D>

Trop génial les objets !!! :smiley: :smiley:

bonjour

bon, dans le 1er code il y avait “.” et "[”, c’est l’un ou l’autre, il faut choisir :slight_smile: mais ça vous l’avez corrigé.

Ce qu’il faut comprendre et retenir c’est que dans la notation à crochets (bracket notation) le contenu des crochets est évalué.
Donc ça marcherait aussi avec une simple variable

<code 4D>
$table:“MATABLE”
$o_entitySelection:=ds[$table].all()
</code 4D>

Attention, avec ORDA, on rentre dans la cour des grands.
C’est case sensitive…MaTable # MATABLE

Roland

Ok je viens de trouver mon erreur. Il fallait écrire :

<code 4D>
C_OBJET($o_entity;$o_table)
$o_table:=Créer objet(“name”;“MATABLE”)

$o_entity:=ds[$o_table.name].get([MATABLE]ID)
</code 4D>

Trop génial les objets !!! :smiley: :smiley:

bonjour

bon, dans le 1er code il y avait “.” et "[”, c’est l’un ou l’autre, il faut choisir :slight_smile: mais ça vous l’avez corrigé.

Ce qu’il faut comprendre et retenir c’est que dans la notation à crochets (bracket notation) le contenu des crochets est évalué.
Donc ça marcherait aussi avec une simple variable

<code 4D>
$table:“MATABLE”
$o_entitySelection:=ds[$table].all()
</code 4D>

Attention, avec ORDA, on rentre dans la cour des grands.
C’est case sensitive…MaTable # MATABLE

Roland