obligada > microsoft.* > microsoft.access

!00000 (06-04-2008, 00:52)
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!
Emilio (06-04-2008, 09:35)
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
puedes usar por ejemplo una función como esta

'************************************************* ******************************
'* 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,co n,contra,de,desde,en,entre,hacia,hasta,para,por,se gú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



"!00000" <erirom1nadaSPAM> escribió en el mensaje
news:4504
[..]
Chea (06-04-2008, 11:12)
En Access tienes strConv():

EnMayusculas = strconv(Micadena,vbpropercase)
odderey.matus (09-12-2018, 01:55)
Prueba con la función ConvCadena

Temas Similares