Lire les liens automatiques

En partant d’une table donnée, méthode qui collecte les champs en lien aller auto
<code 4D>
//Rel_autoN1Get (table_l;arrCombo_al_p)
//en partant de la table $1
// retourne dans $2 pointeur tableau de longs
// les combos des champs en liens aller auto
//DB_comboSet : (tableNumber*100000)+fieldNumber

C_ENTIER LONG($1)
C_POINTEUR($2)

$table_l:=$1
$arr_p:=$2
TABLEAU ENTIER LONG($combo_al;0)
Boucle ($i_l;1;Lire numéro dernier champ($table_l))
Si (Est un numéro de champ valide($table_l;$i_l))
LIRE PROPRIÉTÉS LIEN($table_l;$i_l;$tableDest_l;$champDest_l)
Si (Est un numéro de champ valide($tableDest_l;$champDest_l))
$champN_p:=Champ($table_l;$i_l)
LIRE LIEN CHAMP($champN_p->;$aller_l;$retour_l)
Si ($aller_l=Automatique)
AJOUTER À TABLEAU($combo_al;DB_comboSet ($champN_p))
TABLEAU ENTIER LONG($comboNextLevel_al;0)
Rel_autoN1Get ($tableDest_l;->$comboNextLevel_al) //recursive
Boucle ($j_l;1;Taille tableau($comboNextLevel_al))
AJOUTER À TABLEAU($combo_al;$comboNextLevel_al{$j_l})
Fin de boucle
Fin de si
Fin de si
Fin de si
Fin de boucle
COPIER TABLEAU($combo_al;$arr_p->)
//_
</code 4D>

: Arnaud DE MONTARD

En partant d’une table donnée, méthode qui collecte les champs en
lien aller auto

Pour quoi écris-tu ce genre de méthode : de la psychanalyse de DB ?

  • lire dans un contexte donné (listbox sélection, debug…) quels sont les liens aller fixés en auto
  • ajouter une colonne à une listbox, si la colonne ajoutée vient d’une table parente, il faut aussi gérer les relations à activer vers cette table (sinon pas la peine d’ajouter la colonne)