Auteur

MVP Office Access 2003, 2004, 2005 et 2006

Qui sont les MVP ?

 
 

Codes pour Access

+ Base de données
+ Administrateur
+ Table
+ Requête
+ Formulaire
+ Dates & Heures
+ Nombre
+ Math
+ Fichier
+ Commandes externes
+ Automation
 -  Equivalence
 
 

Tuto Access 2007

+ Base de données
 
 

Lettre d'information

Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
S'abonner
Se désabonner

captcha
Merci de recopier le code alphanumérique ci-dessus
114 Abonnés
 
 

Equivalence - Fonction fInStrRev

Description 
Cette fonction permet de renvoyer la position d'une occurence d'une chaîne dans une autre à partir de la fin de la chaîne.
A partir d'Access 2000 il existe une fonction équivalente qui s'utilise de la même façon à savoir la fonction "InStrRev()".
 
Syntaxe 

Expression = fInStrRev(strCheck, strMatch[, start[, compare]])

La syntaxe de la fonction fInStrRev comprend les éléments suivants :

ElémentsDescription
strCheckExpression de chaîne dans laquelle la recherche est effectuée.
strMatchExpression recherchée.
startFaculatif. Expression numérique définissant la position de départ de chaque recherche. Si elle est omise ou si la valeur est supérieur à la longueur de la chaîne, la recherche commence à la dernière position de la chaîne.
compareFacultatif. Valeur numérique indiquant le type de comparaison à utiliser lors de l'évaluation des sous-chaînes. Si elle est omise une comparaison binaire est effectuée. Reportez-vous à la section Valeurs.

Section Valeurs :
L'argument compare prend les valeurs suivantes :

ConstanteValeurDescription
vbUseCompareOption-1Effectue une comparaison à l'aide de la valeur de l'instruction Option Compare.
vbBinaryCompare0Effectue une comparaison binaire.
vbTextCompare1Effectue une comparaison de texte.
vbDatabaseCompare2Micorosft Access seulement. Effectue une comparaison basée sur des informations contenues dans votre base de données.
 
Exemple 

Cet exemple permet de retourner un msgBox indiquant l'expression dans laquelle la recherche est effectuée, l'expression que l'on cherche et le résultat obtenu, c'est à dire la position du dernier "-" dans la chaîne "toto-tata-titi-tete".

Public Function fInStrRev_EXE()

Dim strExpression As String
Dim strMatch As String
Dim strMsgBox As String

strExpression = "toto-tata-titi-tete"
strMatch = "-"

strMsgBox = "Dans l'expression : """ & strExpression & """" & vbCrLf & vbCrLf
strMsgBox = strMsgBox & "l'expression : """ & strMatch & """" & vbCrLf & vbCrLf
strMsgBox = strMsgBox & "se trouve à la position : "
strMsgBox = strMsgBox & fInStrRev(strExpression, strMatch)

MsgBox strMsgBox

End Function

Cet exemple retournera le msgBox suivant :

Image représentant le msgBox obtenu avec l'exemple de la fonction

Remarque :
L'argument start bien que optionel peut-être utile si par exemple ou souhaite retrouver la position de la 2ème expression recherchée, on pourra imbriquer la fonction fInStrRev de la manière suivante :

fInStrRev(strExpression, strMatch, fInStrRev(strExpression, strMatch))

Si l'on reprend les valeurs de l'exemple supérieur, cette syntaxe retournera 10.

 

 
Code de la fonction 


Public Function fInStrRev(strCheck As String, strMatch As String, _
    Optional start As Long, _
    Optional compare As VbCompareMethod = vbBinaryCompare) As Long

Dim lngFind As Long
Dim lngStart As Long

lngStart = start
If lngStart > Len(strCheck) Or lngStart <= 0 Then _
    lngStart = Len(strCheck) + 1
lngFind = InStr(1, strCheck, strMatch, compare)
Do While lngFind > 0 And lngFind < lngStart
    fInStrRev = lngFind
    lngFind = InStr(lngFind + 1, strCheck, strMatch, compare)
Loop

End Function

 


Date de création : 14/12/2005 @ 16:27
Dernière modification : 12/06/2007 @ 12:55
Catégorie : Equivalence
Page lue 1147 fois


Prévisualiser la page Prévisualiser la page     Imprimer la page Imprimer la page

 
 

Réactions à cet article


Personne n'a encore laissé de commentaire.
Soyez donc le premier !


 
 

Recherche




Google

 
 

Préférences

Votre nom (ou pseudo) :

Votre mot de passe :

     


Membres 76 Membres

membres les 10 derniers :
jujubegood   Rachid   fifimeyrou   MoxQwoidT   fof_alaz   bellemeche   Bruno   fatima   foubay   feever   
Membre en ligne : Membre en ligne :
( personne )
Anonyme en ligne : Anonyme en ligne : 1

Total visites : Total visites : 119046  
hit Affluence record: 102
le 17/06/2007 @ 07:36

Ecrire à Jessy SEMPERE Ajouter aux favoris Recommander ce site à un ami Version mobile
 
 


Design Jessy © 2007 - Compatible IE6, IE7 et Mozilla 2.0.0.1

  Site créé avec GuppY v4.5.18 © 2004-2005 - Licence Libre CeCILL

Document généré en 0.1 seconde