| auteur :Christophe Warin |
Impossible de se contenter du nom du fichier, deux fichiers peuvent être nommés
différemment et contenir les mêmes données.
Pour accéder aux données d'un fichier, il faut lire le champ FileData du
champ pièce-jointe. Ce champ est en lecture seule, il ne peut être modifié qu'avec l'assistant pièces-jointes d'Access ou bien en VBA.
Son contenu n'est pas explicite et correspond aux données binaires compressées par Access.
De plus, il est impossible d'effectuer un regroupement ou un test d'égalité dessus.
Le seul moyen de tester des doublons est donc d'utiliser VBA.
|
| auteur :Christophe Warin |
Soit la table tblClient(N°,Nom,Prenom,Fichiers).
Pour supprimer les fichiers d'une certaine extension, il faut appliquer un filtre sur le champ FileType.
DELETE Fichiers.FileType
FROM tblClient
WHERE tblClient.N°=2 AND Fichiers.FileType="txt"; |
Ici, nous supprimons tous les fichiers txt du client n°2.
Vous remarquerez que le nom du champ figurant après le DELETE est le même que celui dans le WHERE.
Ceci est impératif.
Pour exemple, cette requête :
DELETE Fichiers.FileName
FROM tblClient
WHERE tblClient.N°=2 AND Fichiers.FileType="txt"; |
ne tient pas compte de l'extension et supprime tous les fichiers du client n°2.
|
lien : Comment supprimer toutes les pièces-jointes d'un certain type ?
|
| auteur :Christophe Warin |
Soit la table tblClient(N°,Nom,Prenom,Fichiers).
Où Fichiers est un champ de type pièce-jointe.
L'extension d'une pièce-jointe est disponible dans son champ FileType
Par exemple, cette requête retourne la liste des extensions ainsi que le nombre de fichiers pour chacune d'elles.
SELECT Fichiers.FileType, Count(Fichiers.Filename) AS [Nombre de fichiers]
FROM tblClient
GROUP BY Fichiers.FileType
HAVING Count(Fichiers.Filename)<>0; |
|
| auteur :Christophe Warin |
Soit la table tblClient(N°,Nom,Prenom,Fichiers).
Où Fichiers est un champ de type pièce-jointe.
Pour lister la liste des fichiers d'un champ de type pièce-jointe, il est nécessaire de lire la valeur du
sous-champ FileName
En effet, la requête :
SELECT N°, Fichiers
FROM tblClient |
Retourne les résultats avec les pièces-jointes mises en forme à l'aide de l'assistant de gestion de pièces-jointes. Alors que la requête :
SELECT N°, Fichiers.FileName
FROM tblClient |
Retourne le nom du fichier comme du simple texte.
|
| auteur :Christophe Warin |
Soit la table tblClient(N°,Nom,Prenom,Fichiers).
Où Fichiers est un champ de type pièce-jointe.
Pour compter un nombre de fichier, il faut utiliser la fonction Count sur un sous-champ de Fichiers.
SELECT N°, Count(Fichiers.Filename) AS [Nombre de fichiers]
FROM tblClient |
|
| auteur :Christophe Warin |
Soit la table tblClient(N°,Nom,Prenom,Fichiers).
Où Fichiers est un champ de type pièce-jointe.
Pour compter un nombre de fichier, il faut utiliser la fonction Count sur un sous-champ de Fichiers.
Un regroupement sur la clé primaire N° permet de compter par enregistrement.
SELECT N°, Count(Fichiers.Filename) AS [Nombre de fichiers]
FROM tblClient
GROUP BY N°; |
|
Consultez les autres F.A.Q's
|
|