* HE Buscado esto en el google pero si hay acentos o la ń FALLA
Sub Campo_AfterUpdate() 'Pone en mayuscula la primera letra de cada palabra
Dim CadenA as String
Dim ANSI as Variant
Dim Numero as Integer
CadenA = Lcase ([Campo] )
Mid ( CadenA, 1, 1 ) = Ucase ( Left ( CadenA, 1 ))
For Numero = 2 To Len ( CadenA ) -1
ANSI = Asc ( Mid ( Cadena, Numero,1) )
If ANSI < 65 Or ANSI > 122 Or ( ANSI > 90 And ANSI < 97 ) Then
Mid ( CadenA, Numero + 1, 1 ) = Ucase ( Mid ( Cadena, _ Numero
+1, 1) )
End If
Next Numero
[Campo] = Cadena
End Sub
****************************************************
Existe alguna función en access que realice esto
GRACIAS A TOD@S
--------------------------------------------------------------------------------
Estoy utilizando la versión gratuita de SPAMfighter para usuarios privados.
Ha eliminado 3 correos spam hasta la fecha.
Los abonados no tienen este mensaje en sus correos.
ĄPruebe SPAMfighter gratis ya!
'*******************************************************************************
'* PrimeraLetraMayusculas
'* convierte la primera letra de cada palabra a mayúsculas, excepto aquellas
'* palabras incluidas en la cadena excepciones
'* Argumentos: strCadena => cadena a convertir
'* uso: PrimeraLetraMayusculas "la primavera ha venido, nadie sabe como ha
sido"
'* ESH 05/08/07 20:29
'* Si utilizas este codigo, respeta la autoría y los créditos
'*******************************************************************************
Public Function PrimeraLetraMayusculas(strCadena As String) As String
Dim Matriz As Variant, _
i As Long, _
j As Long, _
strExcepciones As String, _
MatrizExcepciones As Variant
' aqui se pueden añadir o quitar cuantas excepciones se deseen controlar
strExcepciones =
"el,la,del,de,al,y,o,u,los,las,para,a,ante,bajo,con,contra,de,desde,en,entre,hacia,hasta,para,por,según,sin,so,sobre,tras"
' troceo las particulas en una matriz
MatrizExcepciones = Split(strExcepciones, ",")
' troceo la cadena en una matriz
Matriz = Split(Trim(strCadena), " ")
' recorro las distintas palabras a convertir
For i = 0 To UBound(Matriz)
' comparo cada palabra con las excepciones
For j = 0 To UBound(MatrizExcepciones)
' si la palabra es una excepción, pero es la primera palabra de la
cadena no hago nada
If MatrizExcepciones(j) = Matriz(i) And Not i = 0 Then GoTo Saltar
Next j
' si la palabra no es una excepción, concateno la primera letra en
mayúsculas con el resto de la palabra
Matriz(i) = StrConv(Matriz(i), vbProperCase)
Saltar:
Next i
' devuelvo la cadena convertida después de reconstruirla
PrimeraLetraMayusculas = Join(Matriz, " ")
End Function ' PrimeraLetraMayusculas
Saludos a tod@s
Emilio [MS-MVP Access 2006/8]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"!00000" <erirom1...@teleline.es> escribió en el mensaje
news:uTAyu%232lIH...@TK2MSFTNGP06.phx.gbl...
> En Excel existe la funcion =NOMPROPIO(B5) me gustaria algo parecido en el
> access
>
> * HE Buscado esto en el google pero si hay acentos o la ñ FALLA
> Sub Campo_AfterUpdate() 'Pone en mayuscula la primera letra de cada
> palabra
> Dim CadenA as String
> Dim ANSI as Variant
> Dim Numero as Integer
> CadenA = Lcase ([Campo] )
> Mid ( CadenA, 1, 1 ) = Ucase ( Left ( CadenA, 1 ))
> For Numero = 2 To Len ( CadenA ) -1
> ANSI = Asc ( Mid ( Cadena, Numero,1) )
> If ANSI < 65 Or ANSI > 122 Or ( ANSI > 90 And ANSI < 97 ) Then
> Mid ( CadenA, Numero + 1, 1 ) = Ucase ( Mid ( Cadena, _ Numero
> +1, 1) )
> End If
> Next Numero
> [Campo] = Cadena
> End Sub
> ****************************************************
> Existe alguna función en access que realice esto
>
> GRACIAS A TOD@S
>
>
>
> --------------------------------------------------------------------------------
> Estoy utilizando la versión gratuita de SPAMfighter para usuarios
> privados.
> Ha eliminado 3 correos spam hasta la fecha.
> Los abonados no tienen este mensaje en sus correos.
> ¡Pruebe SPAMfighter gratis ya!
>
>
EnMayusculas = strconv(Micadena,vbpropercase)
--
Saludos
José Bengoechea Ibaceta [MS-MVP Access]
http://jbengoechea.com/
http://jbchea.net
"!00000" <erirom1...@teleline.es> escribió en el mensaje de noticias
news:uTAyu%232lIH...@TK2MSFTNGP06.phx.gbl...
> En Excel existe la funcion =NOMPROPIO(B5) me gustaria algo parecido en el
> access
>
> * HE Buscado esto en el google pero si hay acentos o la ñ FALLA
> Sub Campo_AfterUpdate() 'Pone en mayuscula la primera letra de cada
> palabra
> Dim CadenA as String
> Dim ANSI as Variant
> Dim Numero as Integer
> CadenA = Lcase ([Campo] )
> Mid ( CadenA, 1, 1 ) = Ucase ( Left ( CadenA, 1 ))
> For Numero = 2 To Len ( CadenA ) -1
> ANSI = Asc ( Mid ( Cadena, Numero,1) )
> If ANSI < 65 Or ANSI > 122 Or ( ANSI > 90 And ANSI < 97 ) Then
> Mid ( CadenA, Numero + 1, 1 ) = Ucase ( Mid ( Cadena, _ Numero
> +1, 1) )
> End If
> Next Numero
> [Campo] = Cadena
> End Sub
> ****************************************************
> Existe alguna función en access que realice esto
>
> GRACIAS A TOD@S
>
>
>
> --------------------------------------------------------------------------------
> Estoy utilizando la versión gratuita de SPAMfighter para usuarios
> privados.
> Ha eliminado 3 correos spam hasta la fecha.
> Los abonados no tienen este mensaje en sus correos.
> ¡Pruebe SPAMfighter gratis ya!
>
>