estava trabalhando com nomes de clientes em um relatório e conforme necessidade do usuario em deixar as inicias do nome e sobrenome em maiscula, desenvolvi a função abaixo.
por Exemplo:
Imagime que o nome esta guardado da suguinte forma no banco de dados JOAO DOS SANTOS DA SILVA, a função retorna o "João dos Santos da Silva". Não importa como vem do banco sempre sairá com as iniciais de nome e sobrenome em maiscula, exceto as "preposiçoes" (de, dos, das,...)
segue função:
Para chamar a função use:
response.write FormatNomeEmpregado("JOAO DOS SANTOS")
Pergunta
mr.jango
Olá pessoal.
estava trabalhando com nomes de clientes em um relatório e conforme necessidade do usuario em deixar as inicias do nome e sobrenome em maiscula, desenvolvi a função abaixo.
por Exemplo:
Imagime que o nome esta guardado da suguinte forma no banco de dados JOAO DOS SANTOS DA SILVA, a função retorna o "João dos Santos da Silva". Não importa como vem do banco sempre sairá com as iniciais de nome e sobrenome em maiscula, exceto as "preposiçoes" (de, dos, das,...)
segue função:
Para chamar a função use:
response.write FormatNomeEmpregado("JOAO DOS SANTOS")
OU
FormatNomeEmpregado(RECORDSET("FIELDS"))
OU
FormatNomeEmpregado(VARIAVEL NOME)
<%
'++++++++++++++++++++++++++++++++++++++++++++++++++++
'Passo 1 - Deixar a Primeira letra da palavra minuscula
'Ex: João Dos Santos
'++++++++++++++++++++++++++++++++++++++++++++++++++++
Function FormatNomeEmpregado(nome)
Dim i
dim nomeformat
nome = UCase(Mid(nome, 1, 1)) & LCase(Mid(nome, 2, Len(nome)))
For i = 2 To Len(nome)
If Mid(nome, i, 1) = " " Then
nome = Mid(nome, 1, i) & UCase(Mid(nome, i + 1, 1)) & Mid(nome, i + 2, Len(nome))
End If
i = i '+ 1
Next
nomeformat = VerificaPreposicao(nome)
FormatNomeEmpregado = nomeformat
End Function
'++++++++++++++++++++++++++++++++++++++++++++++++++++
'Passo 2 - Trarar as supostas preposições como: de, do, dos, da, etc
'++++++++++++++++++++++++++++++++++++++++++++++++++++
Function VerificaPreposicao(nmpessoa)
Dim cont
Dim fim
Dim aux
For cont = 2 To Len(nmpessoa)
If Mid(nmpessoa, cont, 1) = " " Then
fim = cont
Do While Mid(nmpessoa, cont + 1, 1) <> " "
aux = aux & Mid(nmpessoa, cont + 1, 1)
cont = cont + 1
If cont > Len(nmpessoa) Then
cont = cont - 1
Exit Do
End If
Loop
Select Case aux
Case "Da", "Das", "De", "Di", "Do", "Dos", "Du"
nmpessoa = Mid(nmpessoa, 1, fim) & LCase(aux) & Mid(nmpessoa, cont + 1, Len(nmpessoa))
aux = ""
Case Else
aux = ""
End Select
End If
cont = cont '+ 1
Next
VerificaPreposicao = nmpessoa
End Function
%>
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.