OVH Cloud OVH Cloud

Replace dans Etat

2 réponses
Avatar
catherine.soranzo
Bonjour à tous,

Voici mon problème:
Je travaille sous Access 97 et la fonction replace n'existe pas.
Donc, quel serait le code VBA qui me permettrait d'effectuer ce qui
suit :
J'ai un Etat E_Cdes dont les données sont séléctionnées via un
formulaire F_Selection. L'un des critère de selection est le champs
DPT. Si l'on ne veut pas effectuer de sélection et donc voir
apparaître sur l'Etat l'ensemble des données "DPT", il faux choisir
l'option "*". Or, sur mon Etat, apparaît cette "*" et je voudrais la
remplacer par "ALL DPT" par exemple pour que ce soit plus explicite.

Avez-vous une solution ?
Merci d'avance
Catherine

2 réponses

Avatar
Jessy SEMPERE
Bonjour

Voici l'équivalent de la fonction Replace() sous Access 97 :

Public Function ReplaceStr(TextIn, SearchStr, Replacement, CompMode As
Integer)
Dim WorkText As String, Pointer As Integer
If IsNull(TextIn) Then
ReplaceStr = Null
Else
WorkText = TextIn
Pointer = InStr(1, WorkText, SearchStr, CompMode)
Do While Pointer > 0
WorkText = Left(WorkText, Pointer - 1) & Replacement & _
Mid(WorkText, Pointer + Len(SearchStr))
Pointer = InStr(Pointer + Len(Replacement), WorkText, _
SearchStr, CompMode)
Loop
ReplaceStr = WorkText
End If
End Function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Medinlu" a écrit dans le message news:

Bonjour à tous,

Voici mon problème:
Je travaille sous Access 97 et la fonction replace n'existe pas.
Donc, quel serait le code VBA qui me permettrait d'effectuer ce qui
suit :
J'ai un Etat E_Cdes dont les données sont séléctionnées via un
formulaire F_Selection. L'un des critère de selection est le champs
DPT. Si l'on ne veut pas effectuer de sélection et donc voir
apparaître sur l'Etat l'ensemble des données "DPT", il faux choisir
l'option "*". Or, sur mon Etat, apparaît cette "*" et je voudrais la
remplacer par "ALL DPT" par exemple pour que ce soit plus explicite.

Avez-vous une solution ?
Merci d'avance
Catherine


Avatar
Daniel Carollo
Bonjour Catherine!

Plutot que d'utiliser la fonction "Replace" dans l'etat, il serait
probablement plus judicieux de vous pencher un peu plus ce qui genere les
resultats.
Il y a certainement un bout de code quelque part qui modifie la requete. En
effet, pour utiliser un critere d'un formulaire dans une requete, on utilise
en general la clause:
WHERE [MonChamp] = Forms!MonFormulaire.MonCritere, pour selectionner tous
les enregistrement, en utilisant le joker, ca donne quelque chose du genre:
WHERE [MonChamp] LIKE "*"
Il devrait etre possible d'affecter une valeur a votre controle qui permet
la selection '*', et aussi une valeur qui sert pour l'affichage (par
exemple, les combo-box peuvent avoir une ou plusieur colonnes cachees).

Bonne continuation.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Medinlu" wrote in message
news:
Bonjour à tous,

Voici mon problème:
Je travaille sous Access 97 et la fonction replace n'existe pas.
Donc, quel serait le code VBA qui me permettrait d'effectuer ce qui
suit :
J'ai un Etat E_Cdes dont les données sont séléctionnées via un
formulaire F_Selection. L'un des critère de selection est le champs
DPT. Si l'on ne veut pas effectuer de sélection et donc voir
apparaître sur l'Etat l'ensemble des données "DPT", il faux choisir
l'option "*". Or, sur mon Etat, apparaît cette "*" et je voudrais la
remplacer par "ALL DPT" par exemple pour que ce soit plus explicite.

Avez-vous une solution ?
Merci d'avance
Catherine