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

fnSearchFolder => bug ?

1 réponse
Avatar
gauso
Bonjour,

Soit une table "Fonds" entretenant une relation 1-n avec une tables
"Objets". Depuis ma base je g=E8re des r=E9pertoires reproduisant cette
hi=E9rarchie : la d=E9nomination des r=E9pertoires fonds utilisant le champ
"Abreviation" de ma table Fonds et la d=E9nomination des sous-
r=E9pertoires Objets reprenant le nom du champ "RefObjet" de ma table
Objets. (les sous-r=E9pertoires objets contiennent la plupart du temps
des fichiers images illustrant les "objets" en question... qui sont en
fait des projets d'architecture).
Pour =E9viter que l'on modifie une r=E9f=E9rence objet (ou qu'on la
supprime) - et ce faisant que l'on compromette les liens existant
entre ma base et ces r=E9pertoires, j'ai mis en place un code qui
v=E9rifie l'existence des r=E9pertoires en cas de modification ou
suppression des objets...
Tout marche parfaitement, sauf avec un fonds qui a la particularit=E9 de
contenir beaucoup plus que des fichiers images, mais =E9norm=E9ment de
fichiers de toutes sortes (fichiers de CAO, fichiers textes, excell,
etc.), en fait ce sont toutes les archives num=E9riques d'une agence
d'architecte...
L=E0 le code suivant fait compl=E8tement planter la base (ne r=E9ponds
plus...) : pourquoi ???
Merci de votre aide,

Dim RepFonds As String
RepFonds =3D "I:\" & Me![Abreviation]
Dim NomRepObjet As String
NomRepObjet =3D Me![Refobjet]

'VERIFICATION DE L'EXISTENCE DU REPERTOIRE OBJET
'd=E9finition chemin
Dim cheminrechObjet As String
cheminrechObjet =3D fnSearchFolder(RepFonds, NomRepObjet) 'on
v=E9rifie d'abord que le r=E9pertoire Objet existe
If cheminrechObjet <> "" Then 's'il existe un r=E9pertoire Objet
MsgBox "Impossible de supprimer cet objet car il existe un
r=E9pertoire li=E9 dans I: Celui-ci va s'ouvrir pour vous permettre de
v=E9rifier son contenu (vous ne pourrez supprimer l'objet que si le
r=E9pertoire n'existe plus !", vbInformation, "IMPOSSIBLE DE SUPPRIMER
L'OBJET : REPERTOIRE LIE !"

1 réponse

Avatar
gauso
Il suffit parfois de poser la question pour trouver la réponse...
En utilisant pas fnSearchFolder, tout va beaucoup mieux !
Bonne journée,

Voici ce qui a marché :
Dim RepFonds As String
RepFonds = "I:" & Me![Abreviation]
Dim NomRepObjet As String
NomRepObjet = Me![Refobjet]

'VERIFICATION DE L'EXISTENCE DU REPERTOIRE OBJET
If dir(RepFonds & "" & NomRepObjet & "", vbDirectory) <> ""
Then
MsgBox "Impossible de supprimer cet objet ...!",
vbInformation, "IMPOSSIBLE DE SUPPRIMER L'OBJET : REPERTOIRE LIE !"