DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Fonction HDéclareExterne: Utilisation avec les Connecteurs Natifs et/ou le provider OLE DB
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
HDéclareExterne (Fonction)
En anglais : HDeclareExternal
ODBCNon disponible avec ce type de connexion
Importe temporairement dans le schéma des données en cours la description d'une table à partir d'une table HFSQL existante. Cette table est ouverte. Pour ne plus utiliser cette description de table, utilisez la fonction HAnnuleDéclaration.
Etats et Requêtes
// Déclaration d'une table FournisseurWD à partir du chemin complet 
// de la table HFSQL Classic (extension .FIC comprise)
HDéclareExterne("C:\GestCom\Fournisseur.fic", "FournisseurWD")
SI ErreurDétectée = Vrai ALORS
	// Erreur de déclaration du fichier, on affiche l'erreur
	Erreur(HErreurInfo())
FIN
Syntaxe
Etats et RequêtesHFSQL Classic

Utilisation avec des tables HFSQL Classic (monoposte ou réseau) Masquer les détails

<Résultat> = HDéclareExterne(<Chemin complet de la table HFSQL> , <Alias> [, <Mot de passe>])
<Résultat> : Booléen
  • Vrai si l'opération a été réalisée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'identifier l'erreur.
<Chemin complet de la table HFSQL> : Chaîne de caractères
Chemin complet d'accès à la table HFSQL dont la description doit être importée (260 caractères maximum). Ce nom doit contenir le chemin et l'extension de la table.
Si la fonction HDéclareExterne est utilisée dans une procédure stockée, le chemin de la table doit être relatif à la base de données en cours.
<Alias> : Chaîne de caractères
Nom logique de la table. Ce nom permettra de manipuler la table. Ce nom peut également correspondre à une variable de type Source de données.
<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é.
Si le mot de passe est précisé, il est conservé: il n'est pas nécessaire d'indiquer à nouveau ce mot de passe dans les prochaines fonctions de manipulation de la table.
Nouveauté 2025
Utilisation 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.
Etats et RequêtesHFSQL Client/ServeurOLE DBConnecteurs Natifs (Accès Natifs)

Utilisation avec un accès OLE DB, un Connecteur Natif, HFSQL Client/Serveur et une connexion existante Masquer les détails

<Résultat> = HDéclareExterne(<Table> , <Alias> , <Connexion>)
<Résultat> : Booléen
  • Vrai si l'opération a été réalisée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'identifier l'erreur.
<Table> : Chaîne de caractères
Nom de la table dans la base externe.
HFSQL Client/Serveur Ce paramètre correspond au nom physique de la table, relatif à la base de données (extension comprise). Exemple: "matable.fic" (ou si la base a des sous-répertoires: ".\repertoire\matable.fic").
Si la table possède un mot de passe, il est nécessaire de préciser ce mot de passe avec la fonction hPasse avant d'utiliser la fonction HDéclareExterne.
<Alias> : Chaîne de caractères
Nom logique de la table. Ce nom permettra de manipuler la table dans l'application en cours. Ce nom peut également correspondre à une variable de type Source de données.
<Connexion> : Chaîne de caractères
Connexion à une base de données. Cette connexion a été définie dans l'éditeur de schémas des données ou décrite par programmation grâce à la fonction HDécritConnexion.
Etats et RequêtesOLE DBConnecteurs Natifs (Accès Natifs)

Utilisation avec un accès OLE DB ou un Connecteur Natif Masquer les détails

<Résultat> = HDéclareExterne(<Table> , <Alias> , <Utilisateur> [, <Mot de passe> [, <Source de données> [, <Provider OLE DB ou Connecteur Natif> [, <Accès>]]]])
<Résultat> : Booléen
  • Vrai si l'opération a été réalisée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'identifier l'erreur.
<Table> : Chaîne de caractères
Nom de la table dans la base externe.
<Alias> : Chaîne de caractères
Nom logique de la table. Ce nom permettra de manipuler la table dans l'application en cours.
<Utilisateur> : Chaîne de caractères
Nom de l'utilisateur de la source de données.
<Mot de passe> : Chaîne de caractères optionnelle ou Chaîne secrète
Mot de passe de la table à ouvrir (si ce mot de passe existe).
Nouveauté 2025
Utilisation 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.
<Source de données> : Chaîne de caractères optionnelle
Chemin complet de la source de données.
<Provider OLE DB ou Connecteur Natif> : Chaîne de caractères optionnelle
Nom du provider OLE DB à utiliser ou une des constantes suivantes:
hAccèsNatifAS400Connecteur Natif AS/400 (module optionnel)
hAccèsNatifDB2Connecteur Natif DB2 (module optionnel)
hAccèsNatifInformixConnecteur Natif informix (module optionnel)
hAccèsNatifMariaDBConnecteur Natif MariaDB (module optionnel de WINDEV/WEBDEV)
hAccèsNatifMySQLConnecteur Natif MySQL (module optionnel)
hAccèsNatifOracleConnecteur Natif Oracle (module optionnel)
hAccèsNatifPostgreSQLConnecteur Natif PostgreSQL (module optionnel de WINDEV/WEBDEV)
hAccèsNatifProgressConnecteur Natif Progress (module optionnel)
hAccèsNatifSQLAzureConnecteur Natif SQL Azure (module optionnel, fourni avec le Connecteur Natif SQL Server)
hAccèsNatifSQLiteConnecteur Natif SQLite
hAccèsNatifSQLServerConnecteur Natif SQL Server (module optionnel)
hAccèsNatifSybaseConnecteur Natif Sybase (module optionnel)
hAccèsNatifXBaseConnecteur Natif xBase
hAccèsNatifXMLConnecteur Natif XML
hODBCProvider OLE DB pour ODBC. Permet d'accéder à une source de données ODBC déclarée dans les sources de données ODBC de Windows
hOledbAccess97Provider OLE DB pour Access 97
hOledbAccess2000Provider OLE DB pour Access 2000
hOledbAccess2007Provider OLE DB pour Access 2007
hOledbAccess2010Provider OLE DB pour Access 2010
hOledbDBase5Provider OLE DB pour DBase 5
hOledbExcel2000Provider OLE DB pour Excel 2000
hOledbExcel2007Provider OLE DB pour Excel 2007
hOledbExcel97Provider OLE DB pour Excel 97
hOledbLotus4Provider OLE DB pour Lotus 4
hOledbOracleProvider OLE DB pour Oracle
hOledbSQLServerProvider OLE DB pour SQL Server
Attention: Pour utiliser une connexion OLE DB il est nécessaire:
  • d'installer le MDAC version 2.6 minimum (installation réalisée avec WINDEV/WEBDEV et lors de la création de la version Client)
  • d'installer le provider OLE DB correspondant à la base de données manipulée.
<Accès> : Constante optionnelle
Paramètre le type d'accès à la table.
hOLectureLa table est accessible uniquement en lecture. Seule la lecture des enregistrements est possible. Il n'est pas possible d'en ajouter ou d'en supprimer.
hOLectureEcriture
(valeur par défaut)
La table est accessible en lecture et en écriture. Il est possible aussi bien de lire des enregistrements que d'écrire de nouveaux enregistrements.
Remarques
  • Toutes les fonctions HFSQL peuvent être utilisées sur la table importée, à l'exception de la gestion de l'intégrité.
  • Le nombre d'importations de descriptions est illimité.
  • Cette fonction peut être utilisée avec des tables au format XML.
  • Pour utiliser la fonction HDéclareExterne dans une procédure stockée:
    • il faut donner le chemin relatif de la table par rapport au répertoire de la base contenant la procédure stockée. Le chemin devra indiquer le nom et l'extension de la table.
    • il ne faut pas utiliser de connexion: c'est la base en cours sur laquelle se trouve la procédure stockée qui sera utilisée.
  • Par défaut, si le projet en cours:
    • est associé à un schéma des données, le mode de blocage effectué sur les tables est multi-utilisateurs (les tables ne sont pas bloquées à leur ouverture, les autres applications peuvent accéder aux tables).
    • n'est pas associé à un schéma des données, le mode de blocage effectué sur les tables est mono-utilisateur: les tables sont totalement bloquées en lecture et en écriture dès leur ouverture. Ce mode empêche tout autre application d'accéder aux fichiers déjà ouverts par l'application en cours.
Etats et RequêtesOLE DBConnecteurs Natifs (Accès Natifs)

Fonction HDéclareExterne: Utilisation avec les Connecteurs Natifs et/ou le provider OLE DB

Par défaut, le nom logique fourni à la fonction HDéclareExterne est considéré comme étant le seul nom de la table. Il est encapsulé en utilisant les caractères d'encapsulation correspondant à la base ou spécifiés par le provider OLE DB avant d'être envoyé à la base (ce qui permet de gérer des noms de table contenant des caractères spéciaux).
Pour fournir un nom de fichier composé de <nom du user>.<nom de la table> (ou suivant la base de données <nom du schéma>.<nom de la table>) dans la fonction HDéclareExterne, il est nécessaire de fournir ces noms déjà formatés (en utilisant les caractères d'encapsulation correspondant à la base de données ou spécifiés par le provider OLE DB).
Exemple pour SQLServer:
Les caractères d'encapsulation sont " ".
Pour changer le nom CLIENT en DBO.CLIENT avec la fonction HDéclareExterne, il est nécessaire de passer la chaîne "DBO"."CLIENT".
Il faut donc utiliser le code suivant:
HDéclareExterne("""DBO"".""CLIENT""", sdClient, "MaConnexion")
Composante: wd300hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 16/05/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale