Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme GetOpenFileName et VBA de Access97 !

5 réponses
Avatar
Blip
Salut. J'ai une ancienne appli sous Access 97 qui marchait impec jusque-
là mais qui, depuis quelques temps (disons quelques mois, sais plus
exactement) ne fonctionne plus avec la fonction API WIN32
GetOpenFileName(ofn). Aucune boîte ne s'affiche.

La fonction est a priori bien déclarée, la structure bien remplie, rien
ne plante, mais rien n'apparaît non plus à l'écran. Etrange évolution !

Une recherche Google et sur MS m'indique qu'effectivement
GetOpenFileName() peut ne pas fonctionner en VBA/Access alors que c'est
tjrs OK en VBA/Excel, mais je n'en sais pas plus. Voir <http://www.info-
3000.com/vbvba/fichier.php> par exemple.

Pourquoi ? Changement de DLL comdlg32.dll ? Qu'en pensez-vous ? Que
faire, sans utiliser un quelconque OCX bien sûr ?

Pour info, pb vu sous Windows 2000 Pro FR SP4 ; sais pas si idem sous
autre version.

A bientôt.

5 réponses

Avatar
3stone
Salut,

"Blip"
| J'ai une ancienne appli sous Access 97 qui marchait impec jusque-
| là mais qui, depuis quelques temps (disons quelques mois, sais plus
| exactement) ne fonctionne plus avec la fonction API WIN32
| GetOpenFileName(ofn). Aucune boîte ne s'affiche.
|


Tu utilise ceci ?
http://access.jessy.free.fr/htm/File/OpenFile.htm

A priori, elle devrait fonctionner à tous les coups!


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Blip
In article <#,
says...
Salut,

"Blip"
| J'ai une ancienne appli sous Access 97 qui marchait impec jusque-
| là mais qui, depuis quelques temps (disons quelques mois, sais plus
| exactement) ne fonctionne plus avec la fonction API WIN32
| GetOpenFileName(ofn). Aucune boîte ne s'affiche.
|


Tu utilise ceci ?
http://access.jessy.free.fr/htm/File/OpenFile.htm

A priori, elle devrait fonctionner à tous les coups!


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




J'essaie et reviens dire si OK... Merci et A+

Avatar
Blip
In article <#,
says...
Salut,

"Blip"
| J'ai une ancienne appli sous Access 97 qui marchait impec jusque-
| là mais qui, depuis quelques temps (disons quelques mois, sais plus
| exactement) ne fonctionne plus avec la fonction API WIN32
| GetOpenFileName(ofn). Aucune boîte ne s'affiche.
|


Tu utilise ceci ?
http://access.jessy.free.fr/htm/File/OpenFile.htm

A priori, elle devrait fonctionner à tous les coups!


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Ca marche, effectivement. Pas comparé à mon code et n'ai donc pas encore
vu quelle est la différence, mais ça marche impec.

Sinon, j'ai juste changé, la ligne "OpenFile = Dialogue.lpstrFile" par
"OpenFile = Left$(Dialogue.lpstrFile, InStr(Dialogue.lpstrFile, Chr$(0))
- 1)" pour obtenir une chaîne propre en retour, mais c'est tout.

Merci encore pour l'url.

Avatar
Blip
In article <#,
says...
Salut,

"Blip"
| J'ai une ancienne appli sous Access 97 qui marchait impec jusque-
| là mais qui, depuis quelques temps (disons quelques mois, sais plus
| exactement) ne fonctionne plus avec la fonction API WIN32
| GetOpenFileName(ofn). Aucune boîte ne s'affiche.
|


Tu utilise ceci ?
http://access.jessy.free.fr/htm/File/OpenFile.htm

A priori, elle devrait fonctionner à tous les coups!


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Bon, après comparaison et en tournant autour de ma fonction initiale,
j'ai trouvé le pb. Il semblerait que ce soit l'assignation
ofn.lpstrCustomFilter = "" (ogn étant la structure OPENFILENAME) dans ma
fonction qui faisait que l'appel à GetOpenFileName() n'affichait rien à
l'écran.

Est-ce que quelqu'un à une explication de la raison du pourquoi du
comment de ce dysfonctionnement ? Sachant que, bien sûr,
ofn.nMaxCustFilter était bien initialisé à zéro.

Juste pour comprendre.

Avatar
Blip
In article , Blip <none> says...
In article <#,
says...

Bon, après comparaison et en tournant autour de ma fonction initiale,
j'ai trouvé le pb. Il semblerait que ce soit l'assignation
ofn.lpstrCustomFilter = "" (ogn étant la structure OPENFILENAME) dans ma
fonction qui faisait que l'appel à GetOpenFileName() n'affichait rien à
l'écran.


Un "ofn.lpstrCustomFilter = vbNullString" plutôt que "", puisque ce doit
être une null-terminated string règle le pb :-) Voilà !