Voici la procédure que j'utilise dans ce cas:
PROCEDURE OuvreFichier55(_chAnalyse,_chFichier,_chAlias,_chMotDePasse="") chRep55 est une chaîne
SI _chAnalyse = "" ALORS Erreur("Veuillez sélectionner l'analyse.") RENVOYER Faux FIN SI fRep(_chAnalyse,frFichier) ~= "" ALORS Erreur(ChaîneConstruit("L'analyse '%1' est introuvable.",_chAnalyse)) RENVOYER Faux FIN
// Ici on considère que l'analyse 5.5 se trouve dans un sous répertoire des fichiers 5.5 // A adapter selon les besoins pour récupérer le répertoire des fichiers chRep55 = ComplèteRep(fExtraitChemin(_chAnalyse,fDisque + fRépertoire)) chRep55 = chRep55[[ A Position(chRep55,"\",Taille(chRep55) - 1,DepuisFin)]]
SI PAS HDéclare(_chFichier,_chAnalyse,"",_chAlias) ALORS Erreur("Erreur Hyper File : " + HErreur(),HErreurInfo()) RENVOYER Faux SINON SI PAS HChangeRep(_chAlias,chRep55) ALORS Erreur(ChaîneConstruit("Le fichier %1 n'existe pas.",ComplèteRep(chRep55) + _chFichier + ".FIC")) RENVOYER Faux FIN QUAND EXCEPTION DANS HOuvre(_chAlias,_chMotDePasse) FAIRE Erreur("Erreur Hyper File : " + HErreur(),HErreurInfo()) RENVOYER Faux SINON RENVOYER Vrai FIN FIN
Passez comme alias une variable de type source de donnée, c'est plus facile à manipuler après. |