|
|
|
|
|
|
|
|
|
|
- Caractéristiques de la table créée
- Les différents fichiers créés
- Gestion du mot de passe
- Gestion des erreurs fatales lors de la création d'une table
- Gestion des alphabets non latins
- Réplication: Plage d'identifiants
- Priorité pour la définition de l'emplacement des fichiers du journal
- Création ou ouverture d'une table existante
- Gestion des index
- Création de la table à partir de sa description
HCréeSiInexistant (Fonction) En anglais : HCreationIfNotFound
Non disponible avec ce type de connexion
Effectue les opérations suivantes: - Si la table n'existe pas, crée à vide une table (fichier d'extension ".FIC") avec la table d'index et la table mémo si nécessaire.
La fonction est équivalente à la fonction HCrée. - Si la table existe, ouvre la table.
La fonction est alors équivalente à la fonction HOuvre. Pour optimiser l'appel à la fonction HCréeSiInexistant, l'ouverture de la table peut être également réalisée uniquement au premier accès réalisé sur la table (en utilisant la constante hOuvertureDifférée).
Remarque: Il est possible d'activer la création automatique des tables inexistantes lors de la description du projet (onglet "Tables" de la description du projet, option "Créer les tables automatiquement au moment de leur ouverture"). La fonction HCréeSiInexistant est automatiquement utilisée si la table n'existe pas lors de sa première manipulation.
HCréationSiInexistant("*", "PSW")
HCréationSiInexistant(Commande)
Syntaxe
<Résultat> = HCréeSiInexistant([<Table> [, <Mot de passe> [, <Chemin du fichier JNL> [, <Chemin du fichier JournalOperation>]]] [, <Option>]])
<Résultat> : Booléen - Vrai si la table a été créée ou ouverte,
- Faux en cas de problème. La fonction HErreur permet d'identifier l'erreur. En cas d'erreur fatale, un traitement spécifique est nécessaire pour continuer le programme et vérifier si la table a été créée (voir Notes).
<Table> : Chaîne de caractères optionnelle Nom de la table à utiliser. - Si ce nom n'est pas spécifié, la fonction HCréeSiInexistant va manipuler la dernière table utilisée par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
- Si ce paramètre est égal à "*", toutes les tables du schéma des données en cours seront créées ou ouvertes. Si un mot de passe est précisé, ce mot de passe est utilisé pour toutes les tables.
Cas des projets multi-schémas des données: Toutes les tables de tous les schémas des données seront créées ou ouvertes. - Ce paramètre peut également correspondre au nom d'un groupe de fichiers (ou perso-dossier) défini dans le schéma des données (non disponible en Android et Android Widget). Si un mot de passe est précisé, ce mot de passe est utilisé pour toutes les tables du groupe.
<Mot de passe> : Chaîne de caractères optionnelle ou Chaîne secrète - Mot de passe associé à la table.
- Chaîne vide ("") si aucun mot de passe n'est utilisé.
Nouveauté 2025Utilisation de chaînes secrètes : Si vous utilisez le coffre-fort de chaînes secrètes, le type de la chaîne secrète utilisable pour ce paramètre doit être "Chaîne Ansi ou Unicode". Pour plus de détails sur les chaînes secrètes et l'utilisation du coffre-fort, consultez Coffre-fort de chaînes secrètes.
<Chemin du fichier JNL> : Chaîne de caractères optionnelle Chemin d'accès au fichier JNL associé à la table journalée. Ce paramètre est pris en compte uniquement si la table est journalée. Dans ce cas, le fichier <Nom du fichier>JNL.fic sera créé à l'emplacement spécifié.
<Chemin du fichier JournalOperation> : Chaîne de caractères optionnelle Chemin d'accès de la table JournalOperation et de la table JournalIdentification associée à la table journalée. La table JournalOperation contient toutes les opérations effectuées sur la table journalée. Ce paramètre est pris en compte uniquement si la table est journalée.
<Option> : Constante optionnelle Optimisation de l'ouverture des tables existantes. | | | hChangeAlphabet | L'alphabet défini avec la fonction ChangeAlphabet sera pris en compte dans la nouvelle table. Les tris, recherches (ou autres) sur des clés de type chaîne (chaînes, caractères, date et heure) seront effectuées selon cet alphabet. | | hOuvertureDifférée | Si la table existe déjà, elle ne sera ouverte que lors du premier accès à la table. Si la table n'existe pas, elle est créée et ouverte. | | hSansLiaison | Gestion de l'intégrité: Les liaisons ne sont pas mises à jour sur le serveur (création, modification, suppression selon le cas). Rappel: Par défaut, lors de la création d'une table, les liaisons sont mises à jour sur le serveur.
|
Remarques Gestion du mot de passe Le mot de passe peut être défini: - directement à la création ou à l'ouverture de la table avec la fonction HCréeSiInexistant.
- avant la création de la table grâce à la fonction HPasse.Attention: Le mot de passe est indépendant du cryptage des données. Le cryptage des données doit être configuré lors de la description de la table dans l'éditeur de schémas des données (Onglet "Détail").
Gestion des erreurs fatales lors de la création d'une table En cas d'erreur fatale lors de la création d'une table, il peut être intéressant de continuer le programme tout en vérifiant si la table a tout de même été créée. Pour cela, il est conseillé de faire le traitement d'exception suivant:
QUAND EXCEPTION DANS
HCréationSiInexistant(PERE)
FAIRE
Erreur("Erreur HFSQL: " + HErreur())
SINON
Trace("fichier créé")
FIN
Création de la table à partir de sa description Il est possible de créer directement la table à vide à partir de sa description dans l'éditeur de schémas des données. Il suffit de sélectionner l'option "Créer la table" du menu contextuel de la table (dans le graphe du schéma des données) et de sélectionner le répertoire dans lequel la table doit être créée.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|