MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Inserir Registro pelo VBA

    Compartilhe

    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna em Ter 16 Set 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
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  everton3x em Ter 16 Set 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
    Win7 + MS Office 2013

    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna em Ter 16 Set 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
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  Silvio em Ter 16 Set 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.
    [Você precisa estar registrado e conectado para ver este link.]

    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna em Ter 16 Set 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
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  everton3x em Ter 16 Set 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
    Win7 + MS Office 2013

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  Silvio em Ter 16 Set 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.
    [Você precisa estar registrado e conectado para ver este link.]

    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna em Ter 16 Set 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
    Teste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (54 Kb) Baixado 6 vez(es)

    everton3x
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  everton3x em Ter 16 Set 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
    Win7 + MS Office 2013

    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna em Qua 17 Set 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

    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir Registro pelo VBA

    Mensagem  vinicius.anna em Qua 17 Set 2014, 18:03

    Obrigado.

      Data/hora atual: Sab 10 Dez 2016, 04:54