Home
Home

---Soumis par 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)

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 ****************