version 2004.4 (Modifiée)
AP Add table and fields (nomTable; tabNomsChamps; tabTypesChamps; tabLongChamps{; modèleListe{; modèleDétaillé}}) Entier long
Paramètre | Type | Description | |
nomTable | Chaîne | Nom de la table à créer | |
tabNomsChamps | Tab chaîne | Tableau de noms de champs | |
tabTypesChamps | Tab Entier long | Tableau de types de champs | |
tabLongChamps | Tab Entier long | Tableau de longueurs de champs alpha | |
(0 pour les champs non alpha) | |||
modèleListe | Alpha | Modèle à utiliser pour le formulaire sortie courant | |
modèleDétaillé | Alpha | Modèle à utiliser pour le formulaire entrée courant | |
Résultat | Entier long | Numéro de la table créée ou code d'erreur |
Description
La commande AP Add table and fields permet d'ajouter une table et ses champs dans une structure de base de données 4e Dimension.
Note : Cette commande a été créée principalement pour les besoins des utilisateurs du plug-in 4D ODBC Pro.
Passez dans nomTable le nom de la table. Ce nom peut comporter jusqu'à 31 caractères. Il peut contenir toute combinaison de lettres, chiffres, espaces et tirets bas.
La commande crée dans la table autant de champs qu'il y a d'éléments dans les tableaux tabNomsChamps, tabTypesChamps et tabLongChamps. Les informations passées dans chaque élément sont utilisées pour créer les champs correspondants. Le premier élément des tableaux sera utilisé pour le premier champ de la table, et ainsi de suite.
Note : Pour créer une table vide, passez des tableaux vides.
Passez dans tabNomsChamps les noms de tous les champs à créer dans la table nomTable.
Chaque nom de champ peut comporter jusqu'à 31 caractères. Il doit débuter par une lettre, vous pouvez ensuite utiliser tout type de lettre ou de chiffre, l'espace et le tiret bas.
Passez dans tabTypesChamps les types de chaque champ. Vous pouvez utiliser les constantes 4D suivantes, placées dans le thème "Types champs et variables" :
Constante | Type | Valeur |
Est un champ alpha | Entier long | 0 |
Est un texte | Entier long | 2 |
Est un numérique | Entier long | 1 |
Est un entier | Entier long | 8 |
Est un entier long | Entier long | 9 |
Est une date | Entier long | 4 |
Est une heure | Entier long | 11 |
Est un booléen | Entier long | 6 |
Est une image | Entier long | 3 |
Est un BLOB | Entier long | 30 |
Passez dans tabLongChamps une longueur pour chaque champ de type alphanumérique créé. Pour les autres types de champs, cette valeur est inutile, vous pouvez passer 0.
Les champs sont créés avec des propriétés par défaut. La table est automatiquement placée dans le groupe "Niveau supérieur".
La table est créée avec des formulaires entrée et sortie par défaut, générés à l'aide du modèle de formulaire courant. Vous pouvez désigner le modèle à utiliser pour ces formulaires via les paramètres facultatifs modèleListe et modèleDétaillé. Passez dans le paramètre modèleListe le nom du modèle à utiliser pour le formulaire liste (sortie) par défaut et dans le paramètre modèleDétaillé le nom du modèle à utiliser pour le formulaire détaillé (entrée) par défaut.
Les modèles de formulaires sont accessibles dans la boîte de dialogue de l'Assistant de création de formulaires de 4D. Vous pouvez obtenir la liste des modèles disponibles à l'aide de la commande AP Get templates.
Si elle a été correctement exécutée, la commande retourne le numéro de la table créée. Ce numéro, attribué automatiquement par 4e Dimension, correspond à la valeur retournée par l'expression Nombre de tables + 1.
Si la table n'a pas pu être créée (par exemple si vous passez le nom d'une table existante), la commande retourne l'un des codes d'erreur suivants :
Code | Description |
-1 | L'un des paramètres est invalide (nom de table vide par exemple) |
-2 | Une table de même nom existe déjà |
-3 | Le type de l'un des tableaux passés est incorrect (tableau texte au lieu de tableau entier par |
exemple) | |
-4 | La taille de l'un des tableaux passés est incorrecte (les tableaux n'ont pas la même taille par |
exemple) | |
-5 | Le type de l'un des champs est incorrect (type inexistant par exemple) |
-6 | Une erreur est survenue lors de l'ajout d'un champ |
-7 | Une erreur est survenue lors de la création de la table |
Note : Cette commande ne fonctionne pas lorsqu'elle est exécutée depuis une application compilée et fusionnée avec 4D Runtime Volume License.
Exemples
(1) Cette méthode permet de créer une table [Employés] :
TABLEAU ALPHA(31;tNomsChamps;5) TABLEAU ENTIER LONG(tTypesChamps;5) TABLEAU ENTIER LONG(tLongChamps;5) C_ENTIER LONG($ret) `Initialisation des tableaux tNomsChamps{1}:="Nom" tTypesChamps{1}:=Est un texte tLongChamps{1}:=0 `... Remplir tous les éléments du tableau (2, 3, 4 et 5) $ret:= AP Add table and fields("Employés";tNomsChamps;tTypesChamps;tLongChamps)
(2) Cette méthode permet de créer une table avec deux champs ; les formulaires par défaut utilisent les 2e et 3e modèles :
C_ALPHA(25;NomTable) C_ALPHA(255;$FormModListe;$FormModDetail) TABLEAU ALPHA(31;TabNomsChamps;2) TABLEAU ENTIER LONG(TabTypesChamps;2) TABLEAU ENTIER LONG(TabLongChamps;2) TABLEAU ALPHA(255;$TabModèles;0) NomTable:="Nouvelle table" TabNomsChamps{1}:="Premier champ" TabTypesChamps{1}:=Est un champ alpha TabLongChamps{1}:=20 TabNomsChamps{2}:="Deuxième champ" TabTypesChamps{2}:=Est un entier long TabLongChamps{2}:=0 $error:=AP Get templates ($TabModèles) Si ($error=0) $FormModListe:=$TabModèles{3} $FormModDetail:=$TabModèles{2} $NumTable:=AP Add table and fields(NomTable;TabNomsChamps;TabTypesChamps;TabLongChamps; $FormModListe;$FormModDetail) Sinon $NumTable:=AP Add table and fields (NomTable;TabNomsChamps;TabTypesChamps;TabLongChamps) Fin de si