MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Substituição de número por letra

    avatar
    edsalys
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 25/06/2012

    [Resolvido]Substituição de número por letra Empty [Resolvido]Substituição de número por letra

    Mensagem  edsalys em 24/7/2020, 20:27

    Boa Tarde, Senhores


    Tenho um sistema voltado a administração de Despachante Documentalista e com essa nova mudança da placa Mercosul estou com um problema.
    Preciso de um procedimento para atualização do segundo número da placa de veiculo para uma letra. Por exemplo "KGB0001 atualizar para KGB0A01".


    Obrigado...


    Última edição por edsalys em 27/7/2020, 20:13, editado 1 vez(es)

    edsalys gosta desta mensagem

    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 591
    Registrado : 23/03/2010

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  Finformática em 24/7/2020, 23:03

    Caro Amigo,

    Crie uma consulta com dados da placa antiga, crie um novo campo: PlacaMercoSul:Esquerda([placaAntiga];4) & "A" & Direita([placaAntiga];2). Teste para ver se é isso que queres. Se correto transforme a consulta em Consulta Atualização. Acho que resolve.

    Abraços

    edsalys gosta desta mensagem

    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 591
    Registrado : 23/03/2010

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  Finformática em 25/7/2020, 00:13

    Caro Amigo,

    Crie um botão e cole o código abaixo:

    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb
    Dim PlcaNova As String

    Set rs = db.OpenRecordset("Select * from SuaTabela")

    Do While Not rs.EOF

    rs.Edit
    PlacaNova = rs![NomeCampodaPlaca]
    rs("NomeCampodaPlaca") = Left([PlacaNova], 4) & "A" & Right([PlacaNova], 2)

    rs.Update
    rs.MoveNext
    Loop

    rs.Close
    db.Close

    Assim acho que também funciona.

    Abraços

    edsalys gosta desta mensagem

    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2137
    Registrado : 22/11/2016

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  DamascenoJr. em 25/7/2020, 16:45

    Forma alternativa:
    Código:
    Call CurrentDb.Execute("update SuaTabela set [CampoPlaca] = left([CampoPlaca], 4) & 'A' & right([CampoPlaca], 2);")

    Finformática, como estás buscando aprendizado, aí vai uma dica de boa prática:

    Veja isso
    Código:
    Set rs = db.OpenRecordset("Select * from SuaTabela")

    Com o *, isso vai carregar todos os campos da tabela no recordset. Isso é só sobrecarga de memória desnecessariamente. Imagina se a tabela tem 40 campos?

    No fim das contas, o procedimento precisa atualizar somente um campo, então é sempre bom carregar só o campo necessário para execução da tarefa.

    Assim
    Código:
    Set rs = db.OpenRecordset("select CampoPlaca from SuaTabela")

    Bons estudos.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    edsalys gosta desta mensagem

    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 591
    Registrado : 23/03/2010

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  Finformática em 25/7/2020, 17:09

    Grande Damasceno,

    Muito grato por mais essa explanação. Mais uma aula com fundamentos absolutos. Sempre prestativo. Muito Obrigado.

    Grande Abraço

    edsalys gosta desta mensagem

    avatar
    edsalys
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 25/06/2012

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  edsalys em 26/7/2020, 18:55

    Caros amigos,

    Agradeço muito pelas respostas, mais não e isso que preciso. Preciso que essa alteração seja feita automaticamente via procedimento e não informada pelo usuário.
    Quando o usuário informar a placa do veiculo, automaticamente o procedimento substituir o numero pela letra correspondente.
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 591
    Registrado : 23/03/2010

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  Finformática em 26/7/2020, 19:23

    É no formulário? Se sim, no evento após atualizar, coloque:
    Me.CompoPlaca = Esquerda([CampoPlaca];4) & "A" & Direita([CampoPlaca];2)

    Seria isso?



    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1034
    Registrado : 13/12/2016

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  Alexandre Fim em 27/7/2020, 13:41

    Bom dia,

    Vale lembrar que existe uma regra para incluir a letra na placa, conforme tabela abaixo:

    [Resolvido]Substituição de número por letra Mudanc10


    Exemplo de mudança de placa:

    Placa antiga = ABC-1234
    Placa Mercosul = ABC1C34

    Ou seja, o número "2", foi substituído pela letra, conforme tabela.

    Espero ter ajudado




    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1034
    Registrado : 13/12/2016

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  Alexandre Fim em 27/7/2020, 14:39

    Olá Edison,

    Elaborei um pequeno exemplo para sua necessidade.

    Após clicar no botão, o sistema irá atualizar todas as placas do teu sistema.
    [Resolvido]Substituição de número por letra Troca_10


    Obs.: Substituir os nomes de tabela e coluna do exemplo pelo teu sistema.

    Espero ter ajudado.

    Boa sorte.
    Anexos
    [Resolvido]Substituição de número por letra AttachmentTrocaPlaca.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (43 Kb) Baixado 8 vez(es)


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.

    edsalys gosta desta mensagem

    avatar
    edsalys
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 25/06/2012

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  edsalys em 27/7/2020, 20:11

    Caro Mestre Alexandre Fim,

    Muito Obrigado era isso mesmo que estava precisando...
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1034
    Registrado : 13/12/2016

    [Resolvido]Substituição de número por letra Empty Re: [Resolvido]Substituição de número por letra

    Mensagem  Alexandre Fim em 27/7/2020, 20:16

    Valeu Edison !!!
    É importante que você entenda como o código faz a alteração também.

    O fórum agradece.

    Boa sorte






    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.

      Data/hora atual: 11/8/2020, 14:41