MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições

    avatar
    souzadenilson
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 02/05/2012

    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições Empty [Resolvido]Maiúscula no inicio de todas as palavras sem preposições

    Mensagem  souzadenilson 1/5/2020, 14:43

    Bom dia.
    Encontrei neste fórum um módulo no qual realizei algumas busca, funcionou porém um pequeno detalhe que não consegui descobrir ainda.
    Ele está convertendo em maiúscula toda primeira letra (Denilson Roberto De Souza), porém desejo que fique desse jeito (Denilson Roberto de Souza)
    Alguns dos colaboradores sabe onde encontra-se o erro?

    Código:
    Sub ColocaPrimeiraLetraMaiuscula()
    'Muda todas as palavras da tabela para inicial mai?scula
    'By JPaulo ? Maximo Access
    'adaptado por Alexandre Neves, em 2011-05-03, do f?rum MaximoAccess para manter "de" "da" "do" "dos" "e" "a"
    Dim db As Database, rst As Recordset, camp As Field
    Set db = CurrentDb
    Set rst = db.OpenRecordset("select * from " & "[" & Tabela & "]")
    If Not (rst.EOF) Then
    For Each camp In rst.Fields
    If camp.Name <> "Field Name" _
    And camp.Type = 10 _
    And Not IsNumeric(camp) _
    And camp.Attributes = 34 Then
    Do Until rst.EOF
    If camp.Value <> "" Then
    Debug.Print StrConv(camp.Value, vbProperCase);
    With rst
    .Edit
    camp.Value = StrConv(camp.Value, vbProperCase)
    .Update
    End With
    End If
    rst.MoveNext
    Loop
    CurrentDb.Execute "UPDATE [" & Tabela & "] SET [" & camp.Name & "]=Replace([" & camp.Name & "],' A ',' a ');"
    CurrentDb.Execute "UPDATE [" & Tabela & "] SET [" & camp.Name & "]=Replace([" & camp.Name & "],' Da ',' da ');"
    CurrentDb.Execute "UPDATE [" & Tabela & "] SET [" & camp.Name & "]=Replace([" & camp.Name & "],' De ',' de ');"
    CurrentDb.Execute "UPDATE [" & Tabela & "] SET [" & camp.Name & "]=Replace([" & camp.Name & "],' Do ',' do ');"
    CurrentDb.Execute "UPDATE [" & Tabela & "] SET [" & camp.Name & "]=Replace([" & camp.Name & "],' Dos ',' dos ');"
    CurrentDb.Execute "UPDATE [" & Tabela & "] SET [" & camp.Name & "]=Replace([" & camp.Name & "],' E ',' e ');"
    End If
    Next
    End Sub


    e no campo ficou dessa forma

    Código:
    Private Sub Id_NomeDizimistra_Exit(Cancel As Integer)
    Id_NomeDizimistra = StrConv(Id_NomeDizimistra, vbProperCase)
    End Sub


    Última edição por souzadenilson em 19/5/2020, 21:53, editado 1 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições Empty Re: [Resolvido]Maiúscula no inicio de todas as palavras sem preposições

    Mensagem  Alvaro Teixeira 2/5/2020, 11:00

    Olá Denilson,

    No seu código não está a chamar a sub ColocaPrimeiraLetraMaiuscula que faz o tratamento, veja:
    Código:
    Private Sub Id_NomeDizimistra_Exit(Cancel As Integer)
    Id_NomeDizimistra = StrConv(Id_NomeDizimistra, vbProperCase)
    End Sub

    Partilho abaixo função que faz o pretendido, crie um Modulo novo e cole o código abaixo:
    Código:
    ' Para ...: MaximoAccess - 2020
    ' Autor ..: Alvaro Teixeira (ahteixeira)
    ' Código .: sRestoMinusculas
    ' Data ...: 04-10-2009
    ' Obs ....: Converte o resto das palavras que falta para minusculas
    '           Retiras espacos errados no inicio e duplicados
    Public Function sRestoMinusculas(Origem As String) As String
    Dim i, t, v As Integer
    Dim StrTemp As String
    Dim ReporStr As String
    Dim LocStr As String
    Dim StrLen As Integer
    Dim Inicio As Integer

    If IsNull(Origem) Then Exit Function
        

        Do Until Left(Origem, 1) <> Space(1) 'Retira espaços à esqª
            Origem = Right(Origem, Len(Origem) - 1)
        Loop

    For t = 1 To 9
        If t = 1 Then LocStr = " A ": ReporStr = " a "
        If t = 2 Then LocStr = " E ": ReporStr = " e "
        If t = 3 Then LocStr = " O ": ReporStr = " o "
        If t = 4 Then LocStr = " Do ": ReporStr = " do "
        If t = 5 Then LocStr = " Dos ": ReporStr = " dos "
        If t = 6 Then LocStr = " Da ": ReporStr = " da "
        If t = 7 Then LocStr = " Das ": ReporStr = " das "
        If t = 8 Then LocStr = " De ": ReporStr = " de "
        If t = 9 Then LocStr = "  ": ReporStr = " "
        
        StrLen = Len(LocStr)
        
        StrTemp = Origem
        Inicio = InStr(StrTemp, LocStr)
        Do Until Inicio = 0
            StrTemp = Left(Origem, Inicio - 1) & ReporStr & Mid(Origem, Inicio + StrLen)
            Inicio = InStr(StrTemp, LocStr)
            Origem = StrTemp
        Loop
        sRestoMinusculas = StrTemp
    Next

    End Function

    Depois altere no seu código de forma a ficar assim:
    Código:
    Id_NomeDizimistra = sRestoMinusculas(StrConv(Id_NomeDizimistra, vbProperCase))

    Abraço
    avatar
    souzadenilson
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 02/05/2012

    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições Empty Re: [Resolvido]Maiúscula no inicio de todas as palavras sem preposições

    Mensagem  souzadenilson 2/5/2020, 23:56

    Boa noite.
    Segui conforme suas orientações, porém quando digito as informações no campo não consigo ir para o campo seguinte e o sistema para de responder
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições Empty Re: [Resolvido]Maiúscula no inicio de todas as palavras sem preposições

    Mensagem  Alvaro Teixeira 3/5/2020, 12:05

    Olá Denilson,

    No inicio do Módulo deve colocar Option Compare Binary, veja:
    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições 0119

    Se tiver dificuldades, veja o tópico abaixo que atualizei com exemplo do que pretende fazer:
    https://www.maximoaccess.com/t28949-primeira-letra-maiuscula

    Abraço
    avatar
    souzadenilson
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 02/05/2012

    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições Empty Re: [Resolvido]Maiúscula no inicio de todas as palavras sem preposições

    Mensagem  souzadenilson 3/5/2020, 22:25

    Boa noite. Funcionou perfeitamente.
    Obrigado pela dica
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições Empty Re: [Resolvido]Maiúscula no inicio de todas as palavras sem preposições

    Mensagem  Alvaro Teixeira 19/5/2020, 15:26

    Olá Denilson,

    Obrigado pelo retorno, fico feliz por ter ajudado.

    Não se esqueça de dar o tópico como Resolvido, veja como fazer:
    https://www.maximoaccess.com/t860-resolucao-de-topicos

    Abraço

    Conteúdo patrocinado


    [Resolvido]Maiúscula no inicio de todas as palavras sem preposições Empty Re: [Resolvido]Maiúscula no inicio de todas as palavras sem preposições

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 17:43