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

    Duplicar Linhas de Acordo Com a Quantidade de Itens

    avatar
    wilianesteves
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 11/07/2013

    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  wilianesteves 10/12/2015, 13:01

    Bom dia a todos.

    Venho mais uma vez pedir a ajuda de vocês para resolver um problema que estou tendo com uma consulta.

    Na tabela mãe tenho itens cadastrados e um campo quantidade.

    Na consulta, preciso que cada item seja exibido de acordo com a quantidade que consta na tabela. Por exemplo, tenho cadastrados 5 camas para um local x. Preciso que na consulta apareçam 5 linhas "cama" para esse local, de modo que eu possa inserir o número de patrimônio de cada uma delas separadamente após a compra das mesmas.

    Caso tenha ficado confuso, terei prazer em explicar de outra forma.

    Att
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Re: Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  JPaulo 10/12/2015, 13:04

    Ola;

    Está meio confuso sim.

    Mas entendi que quer tantas linhas do produto, quanta a quantidade cadastrada dele.

    Total 5 = 5 linhas iguais

    É isto ?

    Se for terá de inserir a 5 linhas numa outra tabela, serve ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new 102 Códigos VBA Gratuitos...
    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new Instruções SQL como utilizar...
    avatar
    wilianesteves
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 11/07/2013

    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Re: Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  wilianesteves 10/12/2015, 13:15

    Serve sim. Na vdd quero que, a cada vez que eu insira novos itens, essa segunda tabela, que chamarei de patrimônio, receba os novos registros para que possa incluir os patrimônios dos itens nela.

    Mas a premissa é exatamente isso.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Re: Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  JPaulo 10/12/2015, 13:40

    Ok,

    Vamos imaginar que você tem um form vinculado à sua tabela de exemplo "Tabela1" e quer adicionar à "Tabela2";

    No form tem os campos;

    Produto
    Qty

    Exemplo:
    Produto=Camas
    Qty=5

    Em um botão assim;

    Código:
    Private Sub SeuBotão_Click()
    'By JPaulo ® Maximo Access
    Dim i As Integer

        For i = 0 To Me.Qty - 1
        CurrentDb.Execute "INSERT INTO Tabela2 (Produto, Qty) VALUES ('" & Me.Produto & "', '1');"
        Next i
    End Sub

    Neste Natal ajude...


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new 102 Códigos VBA Gratuitos...
    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Re: Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  JPaulo 14/12/2015, 09:32

    E ae ?

    Funcionou ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new 102 Códigos VBA Gratuitos...
    Duplicar Linhas de Acordo Com a Quantidade de Itens Folder_announce_new Instruções SQL como utilizar...
    avatar
    wilianesteves
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 11/07/2013

    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Re: Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  wilianesteves 5/5/2016, 16:19

    Salve, salve mestre JPaulo.

    Funcionou parcialmente. Da forma como você escreveu, deu tudo certo, mas existem alguns problemas de menor monta no que tange à tabela destino.

    Corrija-me, por favor, caso eu esteja enganado.

    Os itens são inseridos um a um, sendo necessário que eu alterne o campo a cada novo registro para multiplica-los pela quantidade. Eu tenho 2144 registros inseridos até este momento, o que significa clicar no botão 2144 vezes para duplicar os itens e, ao mesmo tempo, inserir ate mesmo aqueles que estão com QUANT=1.

    Dúvidas:

    1 - É possível automatizar esse processo para que, com um único clique, todos os registros passem pelo código de uma única vez?

    2- Quando isso ocorrer, é possível que o código pule os registros em duplicata, inserindo as linhas somente referentes aos novos itens cadastrados?

    (caso necessário, posso acrescentar uma coluna com numeração automática para usar de chave primária)

    Seguem todos os campos da tabela mãe:
    PROPOSTA
    UNIDADE
    COMODO
    INC_COD -> código que estabeleci com numeração automática quando cadastro um item novo para lançar na tabela mãe
    MATERIAL
    ESPECIF
    QUANT
    PRECO
    PRECOTOTAL
    REQUISICAO
    PROCESSO DE COMPRA
    PREGAO
    ATA
    ATA_VIGENCIA
    SITUACAO
    AF_NF
    HORARIO -> é inserido automaticamente quando um novo registro é adicionado na tabela mãe, através do formulário (este campo foi inserido depois e, portanto, muitos rgistros estão com ele em branco)

    Campos que serão exportados:
    PROPOSTA
    UNIDADE
    COMODO
    INC_COD
    MATERIAL
    QUANT
    PRECO

    Alem desses, incluí o campo PATRIMONIO, que é o que preciso para controlar para onde cada item individual está sendo destinado.

    É coisa pra caramba!!! (eu sei rs)
    avatar
    wilianesteves
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 11/07/2013

    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Re: Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  wilianesteves 5/5/2016, 16:24

    O código final está assim:

    Private Sub Auto_Logo0_Click()
    'By JPaulo ® Maximo Access
    Dim i As Integer

    For i = 0 To Me.QUANT - 1
    CurrentDb.Execute "INSERT INTO TB_PATRIMONIO_WILL (PROPOSTA, UNIDADE, COMODO, INC_COD, MATERIAL, PRECO) VALUES ('" & Me.PROPOSTA & "', '" & Me.UNIDADE & "', '" & Me.COMODO & "', '" & Me.INC_COD & "', '" & Me.MATERIAL & "', '" & Me.PRECO & "');"
    Next i
    End Sub
    avatar
    wilianesteves
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 11/07/2013

    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Re: Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  wilianesteves 18/5/2016, 14:30

    Estou perto de conseguir. Utilizando seu código e inserindo mais algumas coisas, consigo fazer a navegação pelos registros. No entanto, o código insere sempre os itens do primeiro registro, não dando importância ao registro selecionado.

    Por enquanto, está assim:

    Private Sub Auto_Logo0_Click()
    'By JPaulo ® Maximo Access

    'Verificando quantos registros tem no formulário e, por consequência, na tabela mãe:
    Dim rs As DAO.Recordset
    Dim lRecordCount As Long
       Set rs = Me.RecordsetClone
       If Not (rs.EOF) Then
           rs.MoveLast
       End If
       lRecordCount = rs.RecordCount
       Set rs = Nothing

    Dim A As Long
    Dim i As Integer

    'Loop que vai navegar pelos registros:
    Do While A < lRecordCount - 1

    'Loop que vai copiar os campos de acordo com a quantidade de cada item:

    i = 0

    'Dim i As Integer

    'Cópia dos itens para a tabela destino:
       For i = 0 To Me.QUANT - 1
       CurrentDb.Execute "INSERT INTO TB_PATRIMONIO_WILL (PROPOSTA, UNIDADE, COMODO, INC_COD, MATERIAL, PRECO) VALUES ('" & Me.PROPOSTA & "', '" & Me.UNIDADE & "', '" & Me.COMODO & "', '" & Me.INC_COD & "', '" & Me.MATERIAL & "', '" & Me.PRECO & "');"
       Next i
     
    'Indo para o próximo registro (no formulário, durante a execução, é possível ver que a navegação realmente ocorre, mas os itens não são alterados)
       DoCmd.GoToRecord , , acNext
           
       Loop
       
    End Sub

    Conteúdo patrocinado


    Duplicar Linhas de Acordo Com a Quantidade de Itens Empty Re: Duplicar Linhas de Acordo Com a Quantidade de Itens

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/5/2024, 13:26