Separer le nom du fichier de son chemin sous access

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 743 fois - Téléchargée 46 fois

Contenu du snippet

Separer le nom du fichier de son chemin sous Access. Sous VB il existe InStrRev mais sous acces non. donc j'ai essayé de le faire avec InStr. Voici le code à inserer dans un sub . Avec l'astuce de Seedrof (Rachid) j'ai mis une deuxieme version (sans boucle)

Source / Exemple :


'***** Premiere version avec InStr *****

Dim dbs As DATABASE
Dim txt1, txt2, txt3 As String
Dim c1, c2, c3 As Integer

' cherche le nom du fichier actuel et enleve son chemin
Set dbs = CurrentDb()

txt1 = dbs.Name
c2 = 1
Do While c2 <> 0
c1 = InStr(c2, txt1, "\")
If c1 = 0 Then Exit Do
c2 = c1 + 1
c3 = c1
Loop
txt2 = Right$(txt1, Len(txt1) - c3)
txt3 = Left$(txt1, c3)

msgbox "Nom du fichier: " & txt2
msgbox "Chemin du fichier: " & txt3

'***** Version suivant astuce de Seedrof *****

Function Separ_chemin()
Dim dbs As DATABASE
Dim txt1, txt2, txt3 As String

Set dbs = CurrentDb()

txt1 = dbs.Name
txt2 = Dir(txt1)
txt3 = Left$(txt1, Len(txt1) - Len(txt2))
MsgBox "Nom du fichier: " & txt2
MsgBox "Chemin du fichier: " & txt3

End Function

A voir également

Ajouter un commentaire

Commentaires

jx53
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
4 septembre 2012
-
dois-je placé se code dan le code pour chargé le fichier ou dans celui de la playlist??

peut tu simplement me dire quoi faire de se code?

merci davance

a+
jx53
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
4 septembre 2012
-
bon dacors laissé tombé je vien de trouvé, jai placé se code a la fin du code qui charge mon fichier mais jai du changé quelque truc:

On Error Resume Next
Dim I As Integer, SOSFichier As String
SOSFichier = OpenFileDialog1.FileName
For I = Len(OpenFileDialog1.FileName) To 1 Step -1
If Mid(OpenFileDialog1.FileName, I, 1) = "" Then Exit For
Next

OpenFileDialog1.FileName = Mid(SOSFichier, I + 1)

se qui donne comme code pour chargé mon ficier:

On Error GoTo D
OpenFileDialog1.Title = ""
OpenFileDialog1.FileName = ""
OpenFileDialog1.Filter = "musique, vidéo et image|*.*"
OpenFileDialog1.ShowDialog()

MediaPlayer.URL = OpenFileDialog1.FileName
On Error Resume Next
Dim I As Integer, SOSFichier As String
SOSFichier = OpenFileDialog1.FileName
For I = Len(OpenFileDialog1.FileName) To 1 Step -1
If Mid(OpenFileDialog1.FileName, I, 1) = "" Then Exit For
Next

OpenFileDialog1.FileName = Mid(SOSFichier, I + 1)
ListBox1.Items.Add(OpenFileDialog1.FileName)
D:


donc merci infiniment du code maintenant mon player est terminé!

vous devriez le voir bientot sur le site (mon player est spécial car on peut joué a des jeux en swf dessu tout en écouten la musique)
Galactus13
Messages postés
324
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
25 mai 2019
1 -
Bjrs,
Heureux que mon exemple t'ai servi !
Une astuce existe pour récupérer le fichier seul:
MonFichier = Dir(CommonDialog1.Filename)
MonFichier ne contiendra que le nom du fichier s'il existe ! Ensuite le répertoire :
X = Len(CommondDialog1.Filename)
Y = len(MonFichier) + 1
MonRepertoire = Mid(CommondDialog1.Filename,1,X - Y)
(Ne pas oublier les déclarations...)
jx53
Messages postés
98
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
4 septembre 2012
-
maintenant pour un autre program (un coffre-fort)
jai besoin de listé le contenu dun dossier du program dans un listbox

taurais un code pour sa Galactus13 ??

sa maiderais beaucoup.

merci davance :)
Galactus13
Messages postés
324
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
25 mai 2019
1 -
Re,
A mon avis, il serait plus simple d'utiliser la fonction existante de VB: le FileListBox !
Si ton "dossier" représente un répertoire...
Avec sa, pas besoin de ligne de programmation !
Récupérer "Un choix" fonctionne comme un Listbox.
Sinon, le site propose surement des centaines d'exemples qui sauront certainement te satisfaire, Moi je ne suis qu'un petit débutant en VB et ne connais pas grand chose !
Commenter la réponse de Remiguel

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.