Access 97 : substitutions pour mid/mid$ ; worksheetfunction.min ; worksheetfunction.max

Soyez le premier à donner votre avis sur cette source.

Vue 6 369 fois - Téléchargée 127 fois

Description

Normalement, il ne serait pas nécessaire d'écrire ces procédures, mais il semble que :
1 - Mid/Mid$ (extraction d'une sous-chaine) ne soit pas implémentée sous access 97
2 - utilisant Excel, je peux appeler "WorkSheetFunction.Min" et "WorkSheetFunction.Min". Or ce ne doit pas être le cas sous access 97. Raison de la présence de ces fonctions de substitution (enfin presque, car ici, ces fonctions ne comparent que 2 valeurs, ce qui est suffisant pour un usage courant et pour le fonctionnement de "Mid/Mid$).

Source / Exemple :


Attribute VB_Name = "Mid_Acces"
' REDLUPUS 2004 : Procédures de substitution (utilisateurs access):
' Mid/Mid$ ; WorkSheetFunction.Min et WorkSheetFunction.Max
Option Explicit

' =====================================
Public Function Min(ByVal V1, V2)
' -------------------------------------
' Substitut à la fonction "WorksheetFunction.Min"
' retourne la plus petite des deux valeurs V1 et V2
' =====================================
If V1 < V2 Then Min = V1 Else: Min = V2
End Function

' =====================================
Public Function Max(ByVal V1, V2)
' -------------------------------------
' Substitut à la fonction "WorksheetFunction.Max"
' retourne la plus grande des deux valeurs V1 et V2
' =====================================
If V1 > V2 Then Max = V1 Else: Max = V2
End Function

' =====================================
Public Function Mid1(ByVal St As String, _
                     ByVal Beg As Byte, _
                     ByVal L As Byte) As String
' -------------------------------------
' Substitut à la fonction Mid/Mid$
' Retourne la sous-chaîne de longueur "L",
' extraite de "St", en commençant à la
' position "Beg".
'   St      chaîne d'origine
'   Beg     Position de départ
'   L       longueur à extraire
' =====================================
Mid1 = Right$(Left$(St, Beg + L - 1), _
              Max(0, Min(L, Len(St) - Beg + 1)))
End Function

Conclusion :


Espérant que çà rendra service à "idefixfix", suite à sa question.

Codes Sources

A voir également

Ajouter un commentaire Commentaire
Messages postés
85
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
18 juin 2009

désolé mais avec moi sa plante sur Right$ et Left$

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.