OVH Cloud OVH Cloud

Question sur le rapatriement d'une chaîne de caractères

11 réponses
Avatar
fredonnon
Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:\Mes documents\Perso\V\ et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:\Mes documents\Perso\V\photo1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.

10 réponses

1 2
Avatar
Pierre CFI [mvp]
bonjour
essaie çà
Private Sub NomPhoto_Click()

Fichier_Provisoire = ChoixDuFichier
If Fichier_Provisoire <> "" Then

Me.NomPhoto = Right(Fichier_Provisoire, Len(Fichier_Provisoire) -25)

End if
End sub


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Fredonnon" a écrit dans le message de news:
Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.


Avatar
Maxence HUBICHE
il y a une fonction géniale pour cela :
InstrRev
Je t'invite à aller jeter un oeil sur cette fonction dans l'aide
(bibliothèque VBA/ Strings)

"Fredonnon" a écrit dans le message de news:

Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.


Avatar
Pierre CFI [mvp]
..../...
oui, mais cette fonction n'existe pas en 97

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Maxence HUBICHE" a écrit dans le message de news: OlWp#
il y a une fonction géniale pour cela :
InstrRev
Je t'invite à aller jeter un oeil sur cette fonction dans l'aide
(bibliothèque VBA/ Strings)

"Fredonnon" a écrit dans le message de news:

Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.






Avatar
Maxence HUBICHE
:? euh... il n'a pas parlé d'access 97 ...:?
J'ai raté quelque chose ?




"Pierre CFI [mvp]" a écrit dans le message de
news: eaz1$
..../...
oui, mais cette fonction n'existe pas en 97

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Maxence HUBICHE" a écrit dans le
message de news: OlWp#

il y a une fonction géniale pour cela :
InstrRev
Je t'invite à aller jeter un oeil sur cette fonction dans l'aide
(bibliothèque VBA/ Strings)

"Fredonnon" a écrit dans le message de news:

Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.










Avatar
Pierre CFI [mvp]
non, mais comme un certain nombre de lecteurs ont 97, :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Maxence HUBICHE" a écrit dans le message de news: u#
:? euh... il n'a pas parlé d'access 97 ...:?
J'ai raté quelque chose ?




"Pierre CFI [mvp]" a écrit dans le message de
news: eaz1$
..../...
oui, mais cette fonction n'existe pas en 97

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Maxence HUBICHE" a écrit dans le
message de news: OlWp#

il y a une fonction géniale pour cela :
InstrRev
Je t'invite à aller jeter un oeil sur cette fonction dans l'aide
(bibliothèque VBA/ Strings)

"Fredonnon" a écrit dans le message de news:

Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.














Avatar
fredonnon
Non non, je suis version 2000.

L'astuce de Pierrre maarche bien ; je l'en remercie bien d'ailleurs.

Je vais aller examiner à la loupe instrrev.

En attendant, cette petite aide me permet bien d'avoir la bonne chaîne
de caractères dans la table mais losque je retourne sur mon formulaire
de départ et que je vais à l'enregistrement suivant via les fleches,
j'ai un message d'erreur avec une légende "Conflit d'écriture". J'ai
alors 3 boutons au choix :
sauvegarder enregistrement
copier dans le presse papier
annuler.

Si je fais annuler, que je vais sur un autre enregistrement puis
reviens dessus, je me rends compte que tout fonctionne, j'ai bien la
bonne image à l'écran.

Vous avez une idée ?

"Maxence HUBICHE" wrote in message news:<u#...
:? euh... il n'a pas parlé d'access 97 ...:?
J'ai raté quelque chose ?




"Pierre CFI [mvp]" a écrit dans le message de
news: eaz1$
..../...
oui, mais cette fonction n'existe pas en 97

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Maxence HUBICHE" a écrit dans le
message de news: OlWp#

il y a une fonction géniale pour cela :
InstrRev
Je t'invite à aller jeter un oeil sur cette fonction dans l'aide
(bibliothèque VBA/ Strings)

"Fredonnon" a écrit dans le message de news:

Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.












Avatar
Pierre CFI [mvp]
bonjour
ce type de message se produit si ta base est partagée et que vous étes plusieurs à faire la méme mise à jour, ou que table est
"ouverte" par 2 forms en méme temps,

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Fredonnon" a écrit dans le message de news:
Non non, je suis version 2000.

L'astuce de Pierrre maarche bien ; je l'en remercie bien d'ailleurs.

Je vais aller examiner à la loupe instrrev.

En attendant, cette petite aide me permet bien d'avoir la bonne chaîne
de caractères dans la table mais losque je retourne sur mon formulaire
de départ et que je vais à l'enregistrement suivant via les fleches,
j'ai un message d'erreur avec une légende "Conflit d'écriture". J'ai
alors 3 boutons au choix :
sauvegarder enregistrement
copier dans le presse papier
annuler.

Si je fais annuler, que je vais sur un autre enregistrement puis
reviens dessus, je me rends compte que tout fonctionne, j'ai bien la
bonne image à l'écran.

Vous avez une idée ?

"Maxence HUBICHE" wrote in message news:<u#...
:? euh... il n'a pas parlé d'access 97 ...:?
J'ai raté quelque chose ?




"Pierre CFI [mvp]" a écrit dans le message de
news: eaz1$
..../...
oui, mais cette fonction n'existe pas en 97

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Maxence HUBICHE" a écrit dans le
message de news: OlWp#

il y a une fonction géniale pour cela :
InstrRev
Je t'invite à aller jeter un oeil sur cette fonction dans l'aide
(bibliothèque VBA/ Strings)

"Fredonnon" a écrit dans le message de news:

Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.














Avatar
Anor
Bonjour,

Pierre CFI [mvp] :
| non, mais comme un certain nombre de lecteurs ont 97, :o))

oui mais ces lecteurs connaissent ce lien
http://memoaccess.free.fr/strings.htm#fstrReverse

;-))
--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Access Memorandum : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Avatar
fredonnon
Non, ma base n'est pas partagée pourtant...

Par contre, c'est vrai que la table semble ouverte par 2 forms en même
temps. J'ai un formulaire qui affiche le chemin relatif et l'image
sélectionnée et le formulaire en dessous n'est pas fermé, celui qui
affiche toutes les infos de l'enregistrement.

C'est quoi la méthode à suivre dans ces cas là Maître mvp :oP ?




"Pierre CFI [mvp]" wrote in message news:<ufcZ1h$...
bonjour
ce type de message se produit si ta base est partagée et que vous étes plusieurs à faire la méme mise à jour, ou que table est
"ouverte" par 2 forms en méme temps,

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Fredonnon" a écrit dans le message de news:
Non non, je suis version 2000.

L'astuce de Pierrre maarche bien ; je l'en remercie bien d'ailleurs.

Je vais aller examiner à la loupe instrrev.

En attendant, cette petite aide me permet bien d'avoir la bonne chaîne
de caractères dans la table mais losque je retourne sur mon formulaire
de départ et que je vais à l'enregistrement suivant via les fleches,
j'ai un message d'erreur avec une légende "Conflit d'écriture". J'ai
alors 3 boutons au choix :
sauvegarder enregistrement
copier dans le presse papier
annuler.

Si je fais annuler, que je vais sur un autre enregistrement puis
reviens dessus, je me rends compte que tout fonctionne, j'ai bien la
bonne image à l'écran.

Vous avez une idée ?

"Maxence HUBICHE" wrote in message news:<u#...
:? euh... il n'a pas parlé d'access 97 ...:?
J'ai raté quelque chose ?




"Pierre CFI [mvp]" a écrit dans le message de
news: eaz1$
..../...
oui, mais cette fonction n'existe pas en 97

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Maxence HUBICHE" a écrit dans le
message de news: OlWp#



il y a une fonction géniale pour cela :
InstrRev
Je t'invite à aller jeter un oeil sur cette fonction dans l'aide
(bibliothèque VBA/ Strings)

"Fredonnon" a écrit dans le message de news:

Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.
















Avatar
fredonnon
Je ne sais pas comment je me débrouille pour avoir les réponses dans
un thread et les aides de tout le monde dans un autre ?!?!


Bref, merci pour vos réactions. Voici un complément d'information sur
ce qui ce passe. C'est vrai que la table semble ouverte par 2 forms en
même
temps. J'ai un formulaire qui affiche les enregistrements d'une
vidéothèque avec la pochette. Lorsque je souhaite modifier la photo
(pochette), j'ouvre un autre formulaire. Je clique dans une zone qui
ouvre une fenetre (nouveau formulaire avec l'enregistrement en cours)
pour choisir le nouveau nom de fichier vers lequel pointer pour
afficher la photo remplaçante. Je lance la mise à jour dans la table
sur l'enregistrement dans ce deuxième formulaire. lorsque je le ferme
et reviens sur le formulaire principal, je n'ai pas la nouvelle photo
à l'écran mais l'ancienne. C'est en changeant d'enregistrement, soit
par une liste déroulante pour choisir le titre de film, soit avec les
flèches pour changer d'enregistrement que le problème a lieu. Comme si
j'étais toujours en mode mise à jour sans avoir validé dans la table
qui contient les infos du film.



"Pierre CFI [mvp]" wrote in message news:<ufcZ1h$...
bonjour
ce type de message se produit si ta base est partagée et que vous étes plusieurs à faire la méme mise à jour, ou que table est
"ouverte" par 2 forms en méme temps,

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Fredonnon" a écrit dans le message de news:
Non non, je suis version 2000.

L'astuce de Pierrre maarche bien ; je l'en remercie bien d'ailleurs.

Je vais aller examiner à la loupe instrrev.

En attendant, cette petite aide me permet bien d'avoir la bonne chaîne
de caractères dans la table mais losque je retourne sur mon formulaire
de départ et que je vais à l'enregistrement suivant via les fleches,
j'ai un message d'erreur avec une légende "Conflit d'écriture". J'ai
alors 3 boutons au choix :
sauvegarder enregistrement
copier dans le presse papier
annuler.

Si je fais annuler, que je vais sur un autre enregistrement puis
reviens dessus, je me rends compte que tout fonctionne, j'ai bien la
bonne image à l'écran.

Vous avez une idée ?

"Maxence HUBICHE" wrote in message news:<u#...
:? euh... il n'a pas parlé d'access 97 ...:?
J'ai raté quelque chose ?




"Pierre CFI [mvp]" a écrit dans le message de
news: eaz1$
..../...
oui, mais cette fonction n'existe pas en 97

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Maxence HUBICHE" a écrit dans le
message de news: OlWp#



il y a une fonction géniale pour cela :
InstrRev
Je t'invite à aller jeter un oeil sur cette fonction dans l'aide
(bibliothèque VBA/ Strings)

"Fredonnon" a écrit dans le message de news:

Bonjour,

J'ai une fonction qui rapatrie le nom d'un fichier dans une zone
nommée NomPhoto pour afficher une photo dans un cadre indépendant.
J'ouvre le répertoire du fichier à choisir grâce à la fonction
ChoixDuFichier

Private Sub NomPhoto_Click()
Fichier_Provisoire = ChoixDuFichier
' Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) -
25)
If Fichier_Provisoire <> "" Then
Me.NomPhoto = Fichier_Provisoire
End if
End sub

Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function

Par exemple, en cliquant sur la zone NomPhoto, j'atterris dans le
répertoire C:Mes documentsPersoV et si je choisis le fichier
photo1.jpg (en double cliquant dessus 1 fois), alors j'aurai

C:Mes documentsPersoVphoto1.jpg

Je souhaite ne récupérer que le nom du fichier et pas son
emplacement+nomfichier sur le disque dur, c'est à dire dans ce cas là
tout ce qui est après le 25ème caractère.
Il me suffit normalement d'utiliser une fonction Right comme je l'ai
mis. Ca marche sauf que étant donné que je dois à chaque fois calculer
à quel point je dois partir pour avoir le nom du fichier en entier, si
je choisis de prendre
Fichier_Provisoire = Right(ChoixDuFichier, Len(ChoixDuFichier) - 25) ,
je suis obligé de double cliquer 2 fois (à cause du calcul de
len(ChoixDuFichier) apparemment).

Je me pose la question s'il est faisable de n'avoir qu'une seule fois
à cliquer pour obtenir le nom du fichier seul.

D'avance, merci pour vos réponses ou suggestions.
















1 2