
Lo que nos dice el autor sobre esta rutina:
Función para Convertir Sartas Simples a Titulos
===================================
Hace un par de años programe una base de datos en Access Basic.
Me molestaba que los usuarios no usaran mayúsculas en los campos que estaban destinados para títulos o nombres propios.
P.e. el titulo « Gerencia de Producción » lo escribían como « gerencia de producción » .
Pues bien, escribí la función SpanishTitle, la cual convierte cualquier variable en una cadena tipo titulo :
Por ejemplo :
x = SpanishTitle("esto es un titulo")
Retorna :
"Esto es un Titulo"
Uso la función en los eventos AfterUpdate de los campos respectivos.
En los programas de Visual Basic que emplean el motor de base de datos Access se puede usar en el evento Validate del Data
Control.
DefInt A-Z
Public Function SpanishTitle(ByVal x As Variant) As Variant
Const Void = "", SP = " ", IL= "|"
Static LockWords As String
Dim Str As String, Word As String, Change, Ptr
If IsNull(x) Then
SpanishTitle = Null
Exit Function
End If
If LockWords = Void Then
LockWords = "a|ante|bajo|con|contra|de|desde|hasta|para|por|segun|sin|sobre|tras|y|al|la|el|en|del|los|las|que|es|"
End If
x = LTrim$(RTrim$(CStr(x)))
Do
'Get Word:
Ptr = InStr(x, SP)
If Ptr Then
Word = RTrim$(Left$(x, Ptr))
x = LTrim$(Mid$(x, Ptr))
Else
Word = x
End If
'Change Word
Change = True
If Not Str = Void Then
If InStr(LockWords, Word + IL) Then
Change = False
End If
End If
If Change Then
Word = UCase$(Left$(Word, 1)) + Mid$(Word, 2)
End If
Str = Str + Word + IIf(Ptr, SP, Void)
Loop Until Ptr = 0
SpanishTitle = Str
'Programmed by Harvey Triana ©
End Function

