Lister contenu disque dur dans une base de données access + recherche de fichiers dans cette table

Soyez le premier à donner votre avis sur cette source.

Vue 17 516 fois - Téléchargée 3 715 fois

Description

Cette source permet en gros :

- De lister son disque dur ( donc la fonction pour lister un repertoire recursivement )
- Ajouter les fichiers dans une base de données access a l'aide d'une classe qui gère la connection entre le programme et Microsoft Access
- Faire une recherche dans une base de donnée et afficher les resultats dans une listview
- Au passage, trois composants pour l'interface assez jolie ^^ : une progressbar améliorée, un label amélioré et un bouton style XP stylé !

Si j'ai fais cette source c'est parce que je n'ai trouvé aucune source sur la recherche de fichier dans une table access et non pas pour le listage de fichier dont il doit bien exister une 10ene de sources sur ce site !! (voir plus)

Code très bien commenté car c'est vrai que moi je ne suis pas fan de commentaire mais j'avoue que ca sert toujours...

Source / Exemple :


tous ets dans le zip

Conclusion :


Normalement pas de bug connus mais il se peu qu'il y en ai (si par exemple le fichier à lister dépasse 260 carctères...)

Le code est très commenté !

N'hesitez pas à me poser des questions en cas de soucis.

++

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
5 septembre 2007

Bonjour,
je viens de télécharger le zip et c'est partie pour un inventaire

J'utilise Visual studio 2005, je clique sur le fichier *.lsn pour lancer le projet
Visual Studio 2005 propose de convertir le projet. OK! 'Je suppose que vous avez utilisé les varions inférieures à 2005?'
la conversion de passe bien.
je lance exécuter .. OK
Après quelques secondes un message d'erreur est généré

L'exception System.InvalidOperationException n'a pas été gérée
Message="Opération inter-threads non valide : le contrôle 'B_Lister' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé."
Source="System.Windows.Forms"
StackTrace:
à System.Windows.Forms.Control.get_Handle()
à System.Windows.Forms.Control.OnEnabledChanged(EventArgs e)
à System.Windows.Forms.ButtonBase.OnEnabledChanged(EventArgs e)
à System.Windows.Forms.Control.set_Enabled(Boolean value)
à Recherche_serveur.Form1.test() dans D:\VBFRANCE\vbfrance_LISTER-CONTENU-DISQUE-DUR-DANS-BASE-DONN-201_40362\Recherche serveur vb france\Form1.vb:ligne 515
à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
à System.Threading.ThreadHelper.ThreadStart()


merci de votre retour
soldatdangeureux@yahoo.fr
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
derien, tu peux toujours m'appeler si t'a besoin d'aide !

Bonne chance !

Redman
Messages postés
383
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
1 décembre 2008

oui je comprends mais normalement je disabled le bouton de recherche lorsqu'il y a une recherche en cours donc y'a pas besoin de gestion de thread mais c'est vrai que je l'ai pas fait dans ma source car je l'ai codé rapidement ^^ Merci
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
Private Sub B_Lister_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_Lister.Click
B_Lister.Enabled = False
B_Delete.Enabled = False

' Prépare le thread
If a Is Nothing Then
a = New Threading.Thread(AddressOf test)
Else
Select Case a.ThreadState
Case Threading.ThreadState.Running
Do
' Attends que le thread précédent soit fini
Loop While a.ThreadState = Threading.ThreadState.Running
Case Threading.ThreadState.Aborted
a = New Threading.Thread(AddressOf test)
Case Threading.ThreadState.Stopped
a = New Threading.Thread(AddressOf test)
End Select
End If

' Démarre le thread
a.Start()
End Sub

Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
a.Abort()

Me.Dispose()
End Sub
Messages postés
383
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
1 décembre 2008

pourquoi pas,
met moi en commentaire ou tu as modifié et je ferais la mise à jour.
Envoi sur fdiedler2000.free.Fr
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.