Ver Mensaje Individual
  #56 (permalink)  
Antiguo 24/02/2005, 03:49
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Función para poner iniciales en mayúsculas

¿Tienes un campo en la DB con "pepito pérez", otro con "PEPITO PÉREZ", otro con "pePiTO PÉreZ", y quieres que al recuperar los datos, te salgan todos homogéneos en pantalla, como "Pepito Pérez"?. Aquí os dejo una función (que a la vez elimina los espacios > 1 (si es que entre "pepito" y "pérez" hubiese más de 1 espacio):

Código:
<%
Function InicialesEnMayusculas(cadena)
'Función para poner las iniciales de un campo en mayúsculas,
'con independencia del nº de palabras que conformen la cadena.
'Miramos si existen más de un espacio vacío,
'y lo reemplazamos por un único espacio vacío
Do While InStr(cadena, "  ")
    cadena = Replace(cadena, "  ", " ")
Loop
'Descomponemos la cadena, en subcadenas,
'para lo cual incidamos el delimitador " ", aunque
'por defecto, podríamos haberlo omitido, pues es ese mismo
cadena = Split(trim(cadena), " ",-1,1)
'miramos las palabras que componen la cadena,
'para lo cual le decimos que recorra desde el primer
'valor de la matriz (empieza en cero), hasta el máximo
'valor (nº de la última palabra) que lo obtenemos con el UBound
For i = 0 To UBound(cadena)
    'ponemos la inicial en mayúsculas, y el resto en minúsculas
    cadena(i) = UCase(Left(cadena(i), 1)) & LCase(Right(cadena(i), Len(cadena(i)) - 1))
Next
'Unimos las cadenas, con la función Join
cadena = Join(cadena)
InicialesEnMayusculas=cadena
End function
%>