En Access estoy intentando que al escribir en un campo texto me ponga la primera en mayúsculas y el resto en minúsculas
En Access estoy intentando que al escribir en un campo me ponga sólo la primera letra de la primera palabra en mayúsculas y el resto en minúsculas. Así como que después de un signo de puntuación la primera palabra tenga la primera letra en mayúsculas.
He probado este código que subiste a otro usuario pero no se como modificarlo para lo que quiero, ya que con lo que hace es poner en mayúsculas la primera letra de cada palabra y no sólo necesito que sea la primera.
Por ejemplo, que las siguientes cadenas de texto "cantidad total de producto. Facturable", "CANTIDAD TOTAL DE PRODUCTO. FACTURABLE" o "CANTIDAD total de PRODUCTO. Facturable" o escrito de cualquier otra manera al final quede como "Cantidad total de producto. Facturable"
El código que compartiste es:
Public Function PrimeraLetraMayuscula(ByVal Texto As String) As String
'Pone en Mayúscula la Primera letra de cada palabra en un Texto, teniendo en cuenta caracteres especiales
Dim Cadenas() As String
Dim BytCaracter As Byte
Dim I As Long, K As Long
Dim Alerta As Boolean
Dim NumPalabra As Integer
Dim StrPalabra As String, FinPalabra As String
NumPalabra = 0
Cadenas = Split(Texto)
For I = 0 To UBound(Cadenas)
StrPalabra = Cadenas(I)
StrPalabra = LCase(StrPalabra)
'Cada vez sumo uno, para aprovecharlo en el Próximo >> If NumPalabra..........
NumPalabra = NumPalabra + 1
For K = 1 To Len(StrPalabra)
'Si el Numero de la Palabra es mayor que la Primera
If NumPalabra > 1 Then
If Alerta = True Then
'No hacemos nada
Else
'Si tiene uno de los Textos citados, salta sin hacer nada
Select Case StrPalabra
'En ésta líne se pueden añadir otras palabras y quedarán excluidas de la conversión
Case "de", "del", "el", "la", "las", "lo", "los", "o", "que", "y"
Exit For
End Select
End If
End If
BytCaracter = Asc(Mid(StrPalabra, K, 1))
Select Case BytCaracter
'Si el carácter es una letra en minúscula
Case 97 To 122, 154, 156, 158, 224 To 246, 249 To 255
StrPalabra = Left(StrPalabra, K - 1) & UCase(Chr$(BytCaracter)) & LCase(Mid(StrPalabra, K + 1))
Alerta = False
Exit For
End Select
Next K
Cadenas(I) = StrPalabra
FinPalabra = Right(StrPalabra, 1)
'En ésta línea se pueden añadir otros Caracteres de Alerta
If (FinPalabra = "." Or FinPalabra = ":" Or FinPalabra = "!" Or FinPalabra = "?") Then
Alerta = True
End If
Next I
PrimeraLetraMayuscula = Join(Cadenas)
End Function 'PrimeraLetraMayuscula(ByVal Texto As String) As String