Coucou,
Mon site, comme vous pouvez le voir, est en pleine restructuration !
Ravalement de façade et un peu de lubrification dans la mécanique !
Ma dernière sauvegarde étant du mois de septembre, je remets à jour les derniers articles, mais rien n’est perdu...
En cas de besoin urgent : webmaster@patcatnats.fr
@ bientôt

PatCatNat’s
Faire de son négatif un positif !

Site personnel de Patrice MOREL.

Divers trucs en vrac
Article mis en ligne le 21 février 2007
dernière modification le 11 janvier 2019

par Patrice MOREL

Cet article rassemble tous les p’tites galères que j’ai pu avoir et leurs "happy end" !

Bases avec divers codes

Access 97

Contenu de la base en Access 97 :

Access 97
Version du 25/07/2007


 Calcul de temps entre départ et arrivée...

Access 2003

Contenu de la base en Access 2003 :

Access 2003
Version du 26/07/2007


 Quelques opérations de manipulations sur fichiers programmés avec les fonctions de base de VB, donc sans API ou sans .Filsearch, etc. :
FileExist (Fichier) : Test de l’existence du fichier. Renvoi VRAI ou FAUX.
FileName (Fichier) : Extrait le nom du fichier. Ex : "c :\Truc\machin.txt" => "machin.txt".
DirExist (Répertoire) : Test de l’existence du répertoire. Renvoi VRAI ou FAUX.
DirName (Répertoire) : Extrait le nom du répertoire contenu. Ex : "c :\Truc\machin.txt" => "c :\Truc\".
FileComp (Fichier1, Fichier2) : Compare deux fichiers. Renvoi VRAI ou FAUX.
FileCrush (Fichier) : Efface un fichier par broyage.
DirNew (Chemin Répertoire) : Création d’un chemin de répertoire.
DirKill (Chemin Répertoire) : Supprime fichiers + sous et répertoire.
DirCopy (Chemin Répertoire 1 , Chemin Répertoire 2) : Copie un répertoire entier vers un autre.
FileInfo (Chemin répertoire, Type d’Info, Inclus Sous-dossiers ) : Donne 3 informations, le nombre de dossier, le nombre de fichiers, la taille des fichiers.
FileFullSpace (lettre lecteur) : ATTENTION fonction spéciale. Son but est d’effacer toute trace des anciens fichiers supprimés en comblant les espaces vides par un fichier, qui sera effacé ensuite... Plusieurs heures peut être nécessaire. Cette fonction est en fait en tout point identique à ce qu’on trouver sur : http://www.sysinternals.com/Utilities/SDelete.html

 Ouverture d’une requête sous condition d’un champ de formulaire
 Calcul de temps entre départ et arrivée...


String pas cool !

Access 97

Access 97 | Compatible |

Access 2003

Access 2003 | Non testé |

Le chemin du fichier recherché en VBA possède des espaces !
A l’exécution du code, des boîtes de messages tronquent le chemin en disant qu’access ne trouve ni le fichier ni le chemin !

Exemple pour l’ouverture d’un fichier Excel :
I:\Stratégie - Pilotage\BDD_grilles\NbrParGare_Data.xls

Cas où cela plante :

Dim stAppName1, CheminExcel As String
    CheminExcel = 'Chemin complet de l'application Excel
    stAppName1 = CheminExcel & " " & "I:\Stratégie - Pilotage\BDD_grilles\NbrParGare_Data.xls"

    Call Shell(stAppName1, 1)

Rectif à faire sur la ligne avec les chr(34) :

stAppName1=CheminExcel & " " & chr(34) & "I:\Stratégie - Pilotage\BDD_grilles\NbrParGare_Data.xls" & chr(34)

Explications :
Dès lors qu’il existe dans le chemin du fichier (ou son nom) au moins un espace, l’application est lancée mais le fichier n’est pas trouvé. Aussi, il faut encadrer le chemin + le nom du fichier.extension par des guillemets. Chr(34) produit le caractère ". Certains préfèrent doubler les guillemets au debut et à la fin de la chaine du cheminFichier.Extension. Donc, soit il faut faire avec le Chr(34) comme indiqué, soit il faut écrire :
stAppName1=CheminExcel & " " & chr(34) & """I:\Stratégie - Pilotage\BDD_grilles\NbrParGare_Data.xls"""


Trouver le code VB à l’aide d’une macro

Pour trouver le bon code, tu cliques sur l’onglet macro et tu fais nouveau et les actions que tu souhaites. Quand tu as fini, tu la sauvegardes et tu cliques droit sur l’objet action "enregistrer sous", et là tu choisis module.
Tu as dans le module le code qui va bien !