GNT sans publicité, site mobile, fonctionnalitées exclusives...

Automatiser import images

Le
Ellimac
Bonjour,

Je cherche une procédure pour automatiser l'import de fichiers images dans
un champ de ma BD. But final obtenir un état avec cette image incorporée.
Il faut automatiser car j'ai plus de 3500 images

Merci


Camille
Lire les 16 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 4
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #19273751
Ellimac a écrit :
Bonjour,

Je cherche une procédure pour automatiser l'import de fichiers images dans
un champ de ma BD. But final obtenir un état avec cette image incorporée.
Il faut automatiser car j'ai plus de 3500 images...

Merci


Camille




Bonjour,
Idéalement il te faut une table qui contienne un champ pour le chemin
d'accès et le nom du fichier et une procédure qui scanne le/les
répertoires pour alimenter cette table.


Sub Import_contenu_repertoire(Dossier As String)
Dim Rst_Table as dao.recordset
Dim rep, Nom_Img As String
'obtient le premier fichier ou répertoire qui est dans Dossier : ex :
C:Mes Images
rep = Dir(Dossier & "*.jpg", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Set Rst_Table=currentdb.openrecordset ("Latable")
Do While (rep <> "")
'teste si c'est un fichier ou un répertoire
If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
'MsgBox "Répertoire " & rep
Else
Nom_Img = rep
With Rst_Table
.Addnew
!Fichierimmage=Nom_Img
.Update
End with
End If
Suite:
'passe à l'élément suivant
rep = Dir
Loop
GoTo Fin
Erreur:
msgbox Dossier & rep & "Erreur N° " & Err.Number & ":" &
Err.Description
Resume Suite
Fin:
Rst_Table.close
Set Rst_Table=nothing
End Sub

Pour le reste ....
@+
3stone
Le #19273831
Bonjour,

Ellimac wrote:
Je cherche une procédure pour automatiser l'import de fichiers images
dans un champ de ma BD. But final obtenir un état avec cette image
incorporée. Il faut automatiser car j'ai plus de 3500 images...




Il est *très* déconseillé d'intégrer des images (surtout en quantité)
dans une base Access. Cela fera exploser ta base jusqu'à la rendre
inutilisable.

La bonne manière est expliquée ici :
http://grenier.self-access.com/?pos...ans-Access

Je te conseille vivement cette méthode.

Sinon, comme dit Fabien: pour le reste... ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Ellimac
Le #19282901
Bonjour,

Merci pour cette réponse, je teste.

Cordialement

Camille


"Fabien"
Ellimac a écrit :
Bonjour,

Je cherche une procédure pour automatiser l'import de fichiers images
dans un champ de ma BD. But final obtenir un état avec cette image
incorporée.
Il faut automatiser car j'ai plus de 3500 images...

Merci


Camille


Bonjour,
Idéalement il te faut une table qui contienne un champ pour le chemin
d'accès et le nom du fichier et une procédure qui scanne le/les
répertoires pour alimenter cette table.


Sub Import_contenu_repertoire(Dossier As String)
Dim Rst_Table as dao.recordset
Dim rep, Nom_Img As String
'obtient le premier fichier ou répertoire qui est dans Dossier : ex :
C:Mes Images
rep = Dir(Dossier & "*.jpg", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Set Rst_Table=currentdb.openrecordset ("Latable")
Do While (rep <> "")
'teste si c'est un fichier ou un répertoire
If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
'MsgBox "Répertoire " & rep
Else
Nom_Img = rep
With Rst_Table
.Addnew
!Fichierimmage=Nom_Img
.Update
End with
End If
Suite:
'passe à l'élément suivant
rep = Dir
Loop
GoTo Fin
Erreur:
msgbox Dossier & rep & "Erreur N° " & Err.Number & ":" &
Err.Description
Resume Suite
Fin:
Rst_Table.close
Set Rst_Table=nothing
End Sub

Pour le reste ....
@+


Ellimac
Le #19282891
Bonjour,

Merci pour cette réponse, je teste.

Cordialement

Camille


"3stone"
Bonjour,

Ellimac wrote:
Je cherche une procédure pour automatiser l'import de fichiers images
dans un champ de ma BD. But final obtenir un état avec cette image
incorporée. Il faut automatiser car j'ai plus de 3500 images...




Il est *très* déconseillé d'intégrer des images (surtout en quantité)
dans une base Access. Cela fera exploser ta base jusqu'à la rendre
inutilisable.

La bonne manière est expliquée ici :
http://grenier.self-access.com/?pos...ans-Access

Je te conseille vivement cette méthode.

Sinon, comme dit Fabien: pour le reste... ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Ellimac
Le #19285841
Bonjour,

En fait je ne veux pas ajouter de nouvel enregistrement à la table mais
renseigner le fichier image pour un champ et ce pour les 3600 fiches
environ.

J'ai modifié comme suit mais cela plante (erreur 3020 Update ou CancelUpdate
effectué sans appeler AddNew ni Edit) :

Private Sub Commande6_Click()
'Dim Rst_Table As AccessObject
Dim rep, Nom_Img As String
'obtient le premier fichier ou répertoire qui est dans Dossier : ex :C:Mes
Images
Dossier = "C:TempImages"
rep = Dir(Dossier & "*.jpg", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Set Rst_Table = CurrentDb.OpenRecordset("T_stations_schemas2")
Do While (rep <> "")
'teste si c'est un fichier ou un répertoire
If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
'MsgBox "Répertoire " & rep
Else
Nom_Img = rep
Rst_Table.adresse = Nom_Img
End If
Suite:
'passe à l'élément suivant
rep = Dir

Loop
GoTo Fin
Erreur: MsgBox Dossier & rep & "Erreur N° " & Err.Number & ":" &
Err.Description
Resume Suite
Fin:
Rst_Table.Close
Set Rst_Table = Nothing
End Sub

Camille

"Fabien"
Ellimac a écrit :
Bonjour,

Je cherche une procédure pour automatiser l'import de fichiers images
dans un champ de ma BD. But final obtenir un état avec cette image
incorporée.
Il faut automatiser car j'ai plus de 3500 images...

Merci


Camille


Bonjour,
Idéalement il te faut une table qui contienne un champ pour le chemin
d'accès et le nom du fichier et une procédure qui scanne le/les
répertoires pour alimenter cette table.


Sub Import_contenu_repertoire(Dossier As String)
Dim Rst_Table as dao.recordset
Dim rep, Nom_Img As String
'obtient le premier fichier ou répertoire qui est dans Dossier : ex :
C:Mes Images
rep = Dir(Dossier & "*.jpg", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Set Rst_Table=currentdb.openrecordset ("Latable")
Do While (rep <> "")
'teste si c'est un fichier ou un répertoire
If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
'MsgBox "Répertoire " & rep
Else
Nom_Img = rep
With Rst_Table
.Addnew
!Fichierimmage=Nom_Img
.Update
End with
End If
Suite:
'passe à l'élément suivant
rep = Dir
Loop
GoTo Fin
Erreur:
msgbox Dossier & rep & "Erreur N° " & Err.Number & ":" &
Err.Description
Resume Suite
Fin:
Rst_Table.close
Set Rst_Table=nothing
End Sub

Pour le reste ....
@+


Publicité
Suivre les réponses
Poster une réponse
Anonyme