Colaboraci�n de Harvey Triana (1)
Rutina para convertir una cadena en formato t�tulo
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