gandalflegris007
Messages postés211Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention11 juin 2007
-
4 août 2006 à 14:44
gandalflegris007
Messages postés211Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention11 juin 2007
-
7 août 2006 à 10:30
Bonjour à tous,
je rencontre un soucis de portabilité d'une appli Access.
Je l'utilise sur 2 types de postes : 1 en NT, l'autre en XP.
Sur le poste en XP j'ai un soucis avec le comportement de la fonction
FileSearch de Access : dès que j'insert un caractère générique dans le
nom de fichier à rechercher (* ou ?) il me sort une erreur de type
"Argument ou appel de procédure incorrect".
Cette même fonction tourne bien sur le NT.
Sur le XP je suis en Access 2003, en 97 sur le NT.
Mais j'ai essayé en installant un Access97 en parallèle sur le XP et le problème reste entier.
> je suspecte donc un pb de version de dll sur lesquelles se
reposent les références mais je ne parviens pas identifier vraiment la
source du problème.
gandalflegris007
Messages postés211Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention11 juin 2007 7 août 2006 à 10:30
Salut Dolphin Boy et merci pour ton soutien.
Le code que tu m'as donné est le même que ce que j'ai déjà dans mon appli et ça plante toujours au même endroit : .Filename = ....
Puisque je ne parviens pas à trouver comment corriger l'appel de cette fonction, j'ai tout bonnement modifié le code, j'utilise désormais la fonction Dir qui, elle, ne pose pas de problème.
C'est quand même dommage de ne pas utiliser la fonction faite exprès, mais au moins ça fonctionne.
Le code utilisé est donc le suivant :
Dim Fichier As String
Fichier = Dir("C:\temp\toto*.*")
If Fichier = ""
Then
MsgBox "Fichier non trouvé."
Exit Sub
End If
Do While
Fichier <> ""
MsgBox Fichier
Fichier = Dir()
Loop
Merci encore pour ton soutien sur ce problème.
Guich
Dolphin Boy
Messages postés630Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention17 février 2007 4 août 2006 à 16:32
Chez moi, avec access97 j'ai essayé ça et ça fonctionne (avec une '*' :
Sub essai()
Dim i As Integer
With Application.FileSearch
.NewSearch
.LookIn = "c:\temp"
.Filename = "toto*"
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "Fichier non trouvé."
End If
End With
End Sub
Pas pu tester avec access2003.
Tu as peut-être un problème de FileType ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
gandalflegris007
Messages postés211Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention11 juin 2007 4 août 2006 à 16:55
Re bonjour,
j'ai rajouté la specif du filetype et l'erreur est encore là ...
L'erreur se produit sur la ligne .FileName = "toto*".
Si je mets "toto.txt", ça passe, dès que j'insere un * ou un ?, ça plante !!!
Comme si Access n'interprétait pas le * ou ? comme il le doit
Dolphin Boy
Messages postés630Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention17 février 2007 4 août 2006 à 18:26
Alors, je ne vois plus. Enlève le .filetype et code directement :
Sub essai()
Dim i As Integer
With Application.FileSearch
.NewSearch
.LookIn = "c:\temp"
.Filename = "toto*.*"
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "Fichier non trouvé."
End If
End With
End Sub