Carte du site
 Remerciements
 Netiquette
 Bugs
 Tables
 Requêtes
 Formulaires
 États (rapports)
 Modules
 APIs
 Chaînes
 Date/Time
 Général
 Ressources
 Téléchargeables

 Termes d'usage

Strings: Mettre la première lettre de chaque mot en majuscule

Author(s)
Dev Ashish

Mettre la première lettre de chaque mot en majuscule.

(Q) Comment faire pour mettre le première lettre de chaque mot d'une chaîne ou d'un champ en majuscule?

(A) Sous Access 97, vous pouvez utiliser la fonction StrConv.  Par exemple,

    StrConv("dev ashish", vbProperCase)

Noter qu'à l'intérieur d'une requête, les constantes vb ne sont pas reconnues. À l'intérieur d'une requête, il faut donc substituer vbProperCase par sa valeur numérique, 3.

Pour  Access 2.0, utiliser la fonction Proper fournie par  Microsoft.

'******************* Code Begin ****************
Function Proper(X)
' Mettre la première lettre de chaque mot d'un champ en majuscule.
' Utiliser dans une procédure événementielle AfterUpdate d'un contrôle;
' par exemple, [Last Name] = Proper([Last Name]).
' Les noms tel que  O'Brien et Wilson-Smythe sont proprement manipulés,
' mais MacDonald est modifié en Macdonald, et van Buren en Van Buren.
' Note: Pour que cette fonction travaille correctement, vous devez spécifier
' Option Compare Database dans la section des déclarations du module.
Dim Temp$, C$, OldC$, i As Integer
    If IsNull(X) Then
        Exit Function
    Else
        Temp$ = CStr(LCase(X))
        ' Initialiser OldC$ en un espace simple car la première lettre
        ' doit être mise en majuscule même si aucun caractère ne la précède.
        OldC$ = " "
        For i = 1 To Len(Temp$)
            C$ = Mid$(Temp$, i, 1)
            If C$ >= "a" And C$ <= "z" And _
                (OldC$ < "a" Or OldC$ > "z") Then
                    Mid$(Temp$, i, 1) = UCase$(C$)
            End If
            OldC$ = C$
        Next i
        Proper = Temp$
    End If
End Function

'******************* Code End ****************

© 1998-2001, Dev Ashish, All rights reserved. Optimized for Microsoft Internet Explorer