DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Mise à jour de la structure des fichiers
HModifieStructure (Exemple)
Mise à jour de la structure des fichiers
Cet exemple permet de mettre à jour la structure de tous les fichiers si nécessaire.
sListeDesErreurs est une chaîne
// Vérification stricte de la structure de fichiers
HVérifieStructure("*", hIdentique)
// Pour tous les fichiers
POUR TOUTE CHAÃŽNE sNomUnFichier DE HListeFichier() SÉPARÉE PAR RC
	QUAND EXCEPTION DANS 
		// Ouverture ou création du fichier de données
		HCréationSiInexistant(sNomUnFichier)
	FAIRE
		// Problème
		// Il y a une différence de structure ?
		SI HErreur(hErrEnCours) = 70016 ALORS 
			// Erreur 70016: LE FICHIER NE CORRESPOND PAS A SA DESCRIPTION
			ToastAffiche("Mise à jour de la structure du fichier <" + ...
				sNomUnFichier + "> en cours...", toastCourt, cvMilieu, chCentre)
			// On met à jour la structure du fichier
			SI PAS HModifieStructure(sNomUnFichier) ALORS
				// Echec de la mise à jour de la structure du fichier
				sListeDesErreurs += [RC] + ...
					"- Erreur de modification de structure pour le fichier <" + ...
					sNomUnFichier + "> : " + HErreurInfo()
			FIN
		SINON
			// Autres erreurs qu'une différence de structure
			sListeDesErreurs += [RC] + "- Erreur d'accès au fichier <" + ...
				sNomUnFichier + "> : " + HErreurInfo()
		FIN
	FIN
FIN

// Vérification compatible de la structure de fichier
// Ainsi les modifications "les plus courantes" permettent 
// quand même l'utilisation de l'application (voir HVérifieStructure)
HVérifieStructure("*", hCompatible)

// Il y a eu des erreurs ?
SI sListeDesErreurs <> "" ALORS
	// Message afin de prévenir
	SI PAS OuiNon("Des erreurs sont apparus lors de l'ouverture des fichiers : " + RC + ...
			sListeDesErreurs + RC +...
			"Continuer quand même l'application ?") ALORS
			FinProgramme()
	FIN
FIN
Version minimum requise
  • Version 17
Documentation également disponible pour…
Commentaires
Eviter un blocage lors de la modification de structure
Pour EVITER un blocage (en HF/CS), il faut penser à utiliser la modification de structure en tâche de fond.

// Mise à jour de la structure du fichier Client en tâche de fond
HModifieStructure(Client, hmsTâcheDeFond)
Gilles GUICHARD
03 mar. 2016

Dernière modification : 25/05/2022

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