|
|
|
|
| Trier la sélection sur un champ d'une table liée |
Transmis par Milan Adamov, YU Epicentar
La méthode ci-dessous trie la sélection dans la table N selon la valeur d'un champ dans la table Un. Cette méthode présume qu'il y a déjà un lien automatique N-vers-Un entre les deux tables.
Si vous avez un lien manuel entre les deux tables, vous pouvez activer les liens automatiques au début de la méthode et puis l'enlever à la fin. Par exemple, si vous avez un champ de type Entier long qui va de la table [Factures] à la table [Clients] et vous voulez trier la sélection de [Factures] par le nom du client, vous appelez cette méthode comme ceci :
TRIER_TrierSurChampDuTableUn(->[Factures]; ->[Clients]NomClient)
` Method TRIER_TrierSurChampDuTableUn (Pointeur; Pointeur)
C_POINTEUR($1;$SortBaseTable_ptr;$2;$SortColumnField_ptr) C_ENTIER LONG($3;$Direction_l;$FieldType_l) C_BOOLEEN($MakeSelection_b)
TABLEAU ENTIER LONG($RecNums_al;0) TABLEAU TEXTE($ToSort_at;0) TABLEAU ENTIER LONG($ToSort_al;0) TABLEAU ENTIER($ToSort_ai;0) TABLEAU REEL($ToSort_ar;0) TABLEAU DATE($ToSort_ad;0) TABLEAU BOOLEEN($ToSort_ab;0)
$SortBaseTable_ptr:=$1 $SortColumnField_ptr:=$2 Si (Nombre de parametres>2) $Direction_l:=$3 Sinon $Direction_l:=0 Fin de si
$FieldType_l:=Type($SortColumnField_ptr->) $MakeSelection_b:=Vrai
Au cas ou : ($FieldType_l=Est un entier ) SELECTION VERS TABLEAU($SortBaseTable_ptr-> ;$RecNums_al;$SortColumnField_ptr-> ;$ToSort_ai) Si ($Direction_l=0) TRIER TABLEAU($ToSort_ai;$RecNums_al;>) Sinon TRIER TABLEAU($ToSort_ai;$RecNums_al;<) Fin de si : ($FieldType_l=Est un entier long ) | ($FieldType_l=Est une heure ) SELECTION VERS TABLEAU($SortBaseTable_ptr-> ;$RecNums_al;$SortColumnField_ptr-> ;$ToSort_al) Si ($Direction_l=0) TRIER TABLEAU($ToSort_al;$RecNums_al;>) Sinon TRIER TABLEAU($ToSort_al;$RecNums_al;<) Fin de si : ($FieldType_l=Est un champ alpha ) | ($FieldType_l=Est un texte ) SELECTION VERS TABLEAU($SortBaseTable_ptr-> ;$RecNums_al;$SortColumnField_ptr-> ;$ToSort_at) Si ($Direction_l=0) TRIER TABLEAU($ToSort_at;$RecNums_al;>) Sinon TRIER TABLEAU($ToSort_at;$RecNums_al;<) Fin de si : ($FieldType_l=Est un numérique ) SELECTION VERS TABLEAU($SortBaseTable_ptr-> ;$RecNums_al;$SortColumnField_ptr-> ;$ToSort_ar) Si ($Direction_l=0) TRIER TABLEAU($ToSort_ar;$RecNums_al;>) Sinon TRIER TABLEAU($ToSort_ar;$RecNums_al;<) Fin de si : ($FieldType_l=Est une date ) SELECTION VERS TABLEAU($SortBaseTable_ptr-> ;$RecNums_al;$SortColumnField_ptr-> ;$ToSort_ad) Si ($Direction_l=0) TRIER TABLEAU($ToSort_ad;$RecNums_al;>) Sinon TRIER TABLEAU($ToSort_ad;$RecNums_al;<) Fin de si : ($FieldType_l=Est un booléen ) SELECTION VERS TABLEAU($SortBaseTable_ptr-> ;$RecNums_al;$SortColumnField_ptr-> ;$ToSort_ab) Si ($Direction_l=0) TRIER TABLEAU($ToSort_ab;$RecNums_al;>) Sinon TRIER TABLEAU($ToSort_ab;$RecNums_al;<) Fin de si Sinon $MakeSelection_b:=Faux Fin de cas
Si ($MakeSelection_b) CREER SELECTION SUR TABLEAU($SortBaseTable_ptr-> ;$RecNums_al) Fin de si |
|
Soumettre une astuce Archives  |
|
|
 |
|
|
|
| eFax |
eFax est un service en-ligne qui élimine le besoin d'avoir un télécopieur, une autre ligne téléphonique dédiée à recevoir des fax ou tous les frais (papier, cartouches à encre, etc.). Avec ce service, vous pouvez recevoir vos fax via Internet comme une pièce jointe à un email. Il suffit d'obtenir un numéro eFax local et vous pouvez commencer à envoyer et recevoir des fax via votre email. |
|
Soumettre une idée
|
|
|
 |
|