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


3 participantes

    [Resolvido]Inserir Registro pelo VBA

    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 199
    Registrado : 29/04/2011

    [Resolvido]Inserir Registro pelo VBA Empty [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna 16/9/2014, 14:19

    Bom dia

    Amigos,

    Possuo uma tabela onde há um campo chamado Grau, este campo possui valores de 1 a 4, conforme exemplo abaixo:
    Grau: 1
    Grau: 2
    Grau: 4
    Grau: 4
    Grau: 4
    Grau: 2
    Grau: 4
    Grau: 2
    Grau: 4

    E assim, sucessivamente. Preciso incluir o valor 3, logo após o grau 2 em toda a tabela.

    Alguém tem alguma dica de como posso fazer....

    Att.
    Vinicius
    everton3x
    everton3x
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 29/01/2012

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  everton3x 16/9/2014, 14:40

    Se eu entendi bem, você quer colocar o valor 3 no campo Grau da sua tabela, exatamente na ordem? Por que? Essa tabela é fonte para uma caixa de combinação? Se for isso, na caixa de combinação, apenas ordene a fonte do registro. Isso vale para qualquer outra aplicação da sua tabela.


    .................................................................................
    Everton da Rosa
    Win11 Pro x64 + Microsoft 365
    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 199
    Registrado : 29/04/2011

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna 16/9/2014, 14:48

    Bom dia

    Sim, preciso incluir o grau 3 pois trata-se de um cadastro hierárquico e no arquivo de origem não há o grau 3, mas, conforme estabelecido pelo cliente, ele quer que haja o grau 3.

    Att.
    Vinicius
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  Silvio 16/9/2014, 15:23

    Um pitaquinho.....se me permitem.

    O ideal e correto, é ter uma tabela com todos os tipos de graus. Evitando-se assim, mais dores de cabeças no futuro com o cliente.

    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 199
    Registrado : 29/04/2011

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna 16/9/2014, 15:27

    Bom dia

    Sim, o ideal é que se tenha todos os graus, porém, trata-se de sistema de terceiros, e no sistema do terceiro não há o grau 3, ai, estou ajustando o conversor para que crie o grau 3 e esta é a dificuldade, apenas em conseguir, na mesma tabela, fazer com que os registros de grau2 sejam copiados para o grau 3.

    OBS: No meu sistema original, tenho os 3 graus.....

    Att.
    Vinicius
    everton3x
    everton3x
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 29/01/2012

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  everton3x 16/9/2014, 15:36

    Pelo que vi, no início do tópico, não se trata de um cadastro dos Graus, pois na sua tabela haveriam vários registros com o mesmo código do grau.

    Você pode fazer um loop no recordset da tabela com um if aninhado. No if, você testa se o graú é 2, então adiciona uma nova linha (AddNew) com o grau 3, mas não sei se vai funcionar. O ideal é a gente ver o seu banco de dados pra ter uma noção exata de como ele está estruturado.

    Qual é o formato do arquivo do programa de terceiros, origem dos dados? Já pensou em utilizar uma outra ferramenta, tipo PHP, para fazer a conversão?


    .................................................................................
    Everton da Rosa
    Win11 Pro x64 + Microsoft 365
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  Silvio 16/9/2014, 15:42

    Talvez possa ser feito ( sem ter o projeto em mãos, então apenas especulando aqui ) possa ser usada a função Replace.

    De uma olhada no LINK.

    Bons estudos.



    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 199
    Registrado : 29/04/2011

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna 16/9/2014, 15:46

    Bom dia

    Segue a tabela que se chama reg_I050....., nesta tabela, há o campo grau. o que estou tentando fazer é incluir o grau 3, na sequencia dos graus. (A grosso modo, o que estou tentando é, pegar o grau 2 (registro inteiro), incluindo-o como se fosse o grau 3 (com o grau 3).

    Muito obrigado.

    Att.
    Vinicius
    Anexos
    [Resolvido]Inserir Registro pelo VBA AttachmentTeste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (54 Kb) Baixado 7 vez(es)
    everton3x
    everton3x
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 29/01/2012

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  everton3x 16/9/2014, 17:54

    vinicius.anna:

    Olhei a tua tabela e me parece que é um plano de contas de contabilidade, certo? (sou contador cheers )

    Me parece que o campo Grau serve para indicar o nível hierárquico da codificação do agrupador, ou algo parecido.
    Se for isso, pude perceber que o valor do Grau corresponde ao número de pares de números do código do agrupador, e que faltam, justamente os agrupadores de 6 dígitos (grau 3).

    Se for isso, basta você fazer um código em VBA que faça uma varredura em todos os códigos de grau 4, retire os dois últimos algarismos para formar o grau superior, no caso 3 e salvar os registros.

    Se for isso, dá pra fazer com DAO.Recordset (procure no google por isso que vai encontrar um monte de coisa, como por exemplo este tutorial aqui)
    Para retirar os dois últimos algarismos, utilize a função Left do VBA, que é bastante simples.


    .................................................................................
    Everton da Rosa
    Win11 Pro x64 + Microsoft 365
    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 199
    Registrado : 29/04/2011

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna 17/9/2014, 18:02

    Boa tarde

    Com suas dicas consegui resolver o problema, muito obrigado.

    Trata-se sim de um plano de contas que monto a partir do Sped Contábil de qualquer sistema gerencial convertendo-o para o meu.

    Att.
    Vinicius
    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 199
    Registrado : 29/04/2011

    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna 17/9/2014, 18:03

    Obrigado.

    Conteúdo patrocinado


    [Resolvido]Inserir Registro pelo VBA Empty Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 14:52