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

    Replicando Linhas de Acordo com Campo Qtde

    avatar
    Belobo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 12/07/2014

    Replicando Linhas de Acordo com Campo Qtde Empty Replicando Linhas de Acordo com Campo Qtde

    Mensagem  Belobo em 21/7/2020, 05:30

    Ola amigos
    Tenho uma tabela chamada Prod.
    Nessa tabela tenho varios campos onde o principal é o campo qCom que é um campo de qtde
    Gostaria de obter a replicacao de cada linha de acordo com o campo qCom onde a base de calculo para a replicacao sera sempre ser multiplo de 6
    Abaixo tenho o exemplo de como está hoje e como desejo que fique
    Observacao importante estou resumindo o numero de campos porem preciso que o VBA sempre replique todos os campos existentes na tabela

    atualmente esta assim
    Ref Fornecedor    Ref Fornec Cor   Genero    qCom        vUnCom     NPv      NCM
    10000                10000.500        Feminino   12             4,78         12,00  61159500
    10001                10000.600        Feminino   24             5,78         13,00  61159500

    Gostaria que ficasse assim
    Ref Fornecedor    Ref Fornec Cor   Genero    qCom        vUnCom     NPv      NCM
    10000                10000.500        Feminino   6              4,78         12,00  61159500
    10000                10000.500        Feminino   6              4,78         12,00  61159500
    10001                10000.600        Feminino   6              5,78         13,00  61159500
    10001                10000.600        Feminino   6              5,78         13,00  61159500
    10001                10000.600        Feminino   6              5,78         13,00  61159500
    10001                10000.600        Feminino   6              5,78         13,00  61159500
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Replicando Linhas de Acordo com Campo Qtde Empty Re: Replicando Linhas de Acordo com Campo Qtde

    Mensagem  Finformática em 21/7/2020, 14:15

    Caro amigo,

    Este mesmo problema não já foi resolvido em outro poste anterior e dado como resolvido? Eu lembro dele... Está reabrindo novo poste para o mesmo problema? Se é novo problema, qual a diferença?

    Abraços

    avatar
    Belobo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 12/07/2014

    Replicando Linhas de Acordo com Campo Qtde Empty Re: Replicando Linhas de Acordo com Campo Qtde

    Mensagem  Belobo em 21/7/2020, 21:49

    A diferença é que no post anterior era pra replicar um a um
    Nesse é pra replicar de 6 em 6
    O exemplo que mostrei mostra isso
    Se puder ajudar agradeço
    Exemplo um produto com 24 pecas
    Desejo que fique
    6
    6
    6
    6
    Pois são meias com qtde de 6 peças por pacote
    Veja se pode me ajudar !!
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Replicando Linhas de Acordo com Campo Qtde Empty Re: Replicando Linhas de Acordo com Campo Qtde

    Mensagem  Finformática em 21/7/2020, 23:46

    Caro Belobo,

    Considerando que todas as quantidades são múltiplos de 6, basta pegar o mesmo código feito na vez anterior e fazer 2 alterações:

    Do While Not rs1.EOF

    ContQtd = (rs1!qcom) / 6 -------------------------- Aqui divida por 6
    For i = 1 To ContQtd
    rs2.AddNew
    rs2![Grupo] = rs1![Grupo]
    rs2![Desc] = rs1![Desc]
    rs2![qcom] = 6 'rs1![qcom] --------------------------- Aqui coloque 6 (quantidade do Kit)
    rs2![Familia] = rs1![Familia]
    rs2![Cor] = rs1![Cor]
    rs2![NomeCor] = rs1![NomeCor]
    rs2![Tamanho] = rs1![Tamanho]
    rs2![RefFornecedor] = rs1![RefFornecedor]
    rs2![RefFornecedorCor] = rs1![RefFornecedorCor]
    rs2![Genero] = rs1![Genero]
    rs2![VuCom] = rs1![VuCom]
    rs2![PV] = rs1![PV]
    rs2![Cean] = rs1![Cean]
    rs2![Ncm] = rs1![Ncm]
    rs2![Utrib] = rs1![Utrib]


    rs2.Update
    rs2.Requery
    Next i
    rs1.MoveNext
    Loop

    Feito isso, execute e vamos para o abraço.

    Atenção: Isso conforme citei acima é considerando que as quantidades são múltiplos de 6. Aí pergunto, realmente são? Não tem nenhuma quantidade como 3, 13, 25, 7? Caso tenha, o que você faz? Faria a separação só se for múltiplo 6?
    Dependendo dos critérios tem que ver se a quantidade é divisível 2 e 3 ou se é par e a soma dos seus algarismos divisível por 3, critério matemático dos múltiplos.

    Fico no aguardo

    Abraços
    avatar
    Belobo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 12/07/2014

    Replicando Linhas de Acordo com Campo Qtde Empty Re: Replicando Linhas de Acordo com Campo Qtde

    Mensagem  Belobo em 21/7/2020, 23:58

    Tudo múltiplo de 6 mesmo
    Vou ajustar o código e te aviso
    Mas vc me mostrando onde trocar já me ajuda muito pois
    No futuro posso alterar quando nosso fornecedor alterar quer coisa

      Data/hora atual: 5/8/2020, 20:14