Ouverture d'un fichier LST [Résolu]

Signaler
Messages postés
18
Date d'inscription
jeudi 22 février 2007
Statut
Membre
Dernière intervention
21 septembre 2009
-
Messages postés
18
Date d'inscription
jeudi 22 février 2007
Statut
Membre
Dernière intervention
21 septembre 2009
-
Bonjour,

Je vous expose mon petit souci. J'ai une station météo qui actualise un fichier LST toutes les 5 minutes.
Mon appli VB6 teste si le fichier existe mais plante quelquefois sur le open avec "fichier introuvable".

If Dir("P:\SuiviQualif\HeavyWeather\currdat.LST") <> "" Then
                    Open "P:\SuiviQualif\HeavyWeather\currdat.LST" For Input As 1

je pense que c'est du à l'actualisation du fichier par la station météo juste apres le test if et pile poil au moment du open.

Merci de me donner un petit coup de main

Adri85

6 réponses

Messages postés
18
Date d'inscription
jeudi 22 février 2007
Statut
Membre
Dernière intervention
21 septembre 2009

Bonjour et merci à tous pour votre aide.

Afin de régler mon probleme j'ai décider de gérer les erreurs. J'avais déjà essayé avec un file copy mais ça ne fonctionnait pas car j'avais une autre erreur (en effet mon code permet de faire executer une centaine de petite appli en parallele)
A priori je n'ai plus de souci...Si le fichier n'est pas accessible alors j'ai simplement une msgbox

Adri85
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Si tu ne l'ouvre quand lecture essaye peut-etre avec ceci :

If Dir("P:\SuiviQualif\HeavyWeather\currdat.LST") <> "" Then
                    Open "P:\SuiviQualif\HeavyWeather\currdat.LST" For Input Shared As 1

Sinon il va falloir gerer l'erreur, car si tu essaye de l'ouvrir au moment ou l'autre processus est en train de l'écrire et qu'il l'a vérouillé pour cela, tu ne pourras pas l'ouvrir.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Il y a aussi la possibilité de faire un FileCopy, en mettant une boucle autour tant que le fichier ne l'a pas été, et de travailler ensuite sur la copie.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

Casy, Shared, c'est pas du DotNet ?
j'aurai mis .. for Input Access Read As #1

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Non c'est pas du .Net, c'est bien l'une des possibilité pour l'option Lock de l'instruction Open de VB6

Elle peut etre necessaire mais pas suffisante. En effet il suffit que l'autre processus ouvre le fichier avec un verrouillage (ce qui est probablement le cas s'il l'ouvre pour ecriture) pour que le fichier ne soit plus accessible avec open. Peut-etre reste-il quand même accessible en lecture, c'est suivant le type de verrouillage de l'autre process qui n'est ici semble-t-il pas maitrisé.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Non c'est pas du .Net, c'est bien l'une des possibilité pour l'option Lock de l'instruction Open de VB6

Elle peut etre necessaire mais pas suffisante. En effet il suffit que l'autre processus ouvre le fichier avec un verrouillage (ce qui est probablement le cas s'il l'ouvre pour ecriture) pour que le fichier ne soit plus accessible avec open. Peut-etre reste-il quand même accessible en lecture, c'est suivant le type de verrouillage de l'autre process qui n'est ici semble-t-il pas maitrisé.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php