MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Loop dentro de outro

    Compartilhe

    marcelo3092
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 19/08/2010

    Loop dentro de outro

    Mensagem  marcelo3092 em 2/9/2018, 23:25

    Boa noite galera gostaria de pedir a ajuda de vcs referente a um loop que estou tentando fazer mais ta dificil.
    O que eu pretende seria o primeiro loop ele verifica em uma consulta um determinado produto e sua quantidade até ai blz consigo ele até aparece a mensagem do jeito que eu quero informando se o produto estoque com estoque menor. Agora o segundo e de acordo com o primeiro exemplo se ele verificar que o produto esta com estoque ele adiciona o produto se não tiver ele aparece a mensagem e somente adiciona o produto que estiver.
    um é este que funcinona perfeitamente
    Código:

    Dim rs10
    Dim rs11
    Dim rs12

    Dim rst As Recordset
    Set rst = Me!Frm_Produto_Detalhe.Form.RecordsetClone
    rst.MoveFirst

    Do While Not rst.EOF
    rs10 = DLookup("[Estoque]", "Mat_Estoque", "[Cód_Matéria] =" & rst!Cód_Matéria)
    rs11 = DLookup("[Descrição]", "Matéria", "[Cód_Matéria] =" & rst!Cód_Matéria)
    If rst.Fields("Quantidade") * Me.N_Pares > rs10 Then
    'MsgBox "A Quantidade Requerida Não Existe no Estoque" & rs11, vbCritical, NomeAplicativo()

    MsgBox "A Quantidade Requerida Não Existe no Estoque." & vbCr & "" & vbCr & _   '[b][color=#ff3300] Aqui no caso nem precisaria da mensagem agora[/color] [/b]
                 "Material: " & rs11 & vbCr & _
                "Quantidade no Estoque: " & rs10, vbCritical, NomeAplicativo()
               
                Else
     
                       
    End If
    rst.MoveNext

    Loop

    Set rs10 = Nothing
    Set rs11 = Nothing

    rst.Close

    Set rst = Nothing




    Agora o outro seria para inclusão se o produto estiver no estoque


    Código:
    Dim dbOrc As Database, rs2, rs3 As DAO.Recordset
    Set dbOrc = CurrentDb

    'Aqui abro a tabela onde estão os produtos do orçamento
    Set rs2 = dbOrc.OpenRecordset("SELECT * FROM Produto_Detalhe WHERE Cód_Produto=" & Me.Combinação48)
    'Aqui abro a tabela que vai receber os produtos do orçamento
    Set rs3 = dbOrc.OpenRecordset("Matéria_Saida_Detalhe", dbOpenDynaset)
    'Aqui os campos que vão receber os dados dos produtos do orçamento

    While (Not rs2.EOF)    ' Aqui eu tentei colocar esta condição mais sem sucesso If rst.Fields("Quantidade") * Me.N_Pares > rs10 Then
    With rs3
    .AddNew
    ![Cód_Saida] = DMax("Cód_Saida", "Matéria_Saida")
    ![Cód_Matéria] = rs2![Cód_Matéria]
    ![Valor_Registrado] = rs2![Valor_Registrado]
    ![Qtd_Par] = rs2![Quantidade]
    .Update
    rs2.MoveNext
    End With
    Wend


    'Aqui fecho as tabelas abertas
    rs2.Close
    Set rs2 = Nothing
    rs3.Close
    Set rs3 = Nothing
    Set dbOrc = Nothing

    Alguém poderia ajudar  como posso unir as duas funções.
    Como falei uma verifica o produto consultado e pega a quantidade de estoque de uma consulta e compara. Tendo estoque ele adiciona a lista na tabela.
    desde já agradeço a ajuda.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5544
    Registrado : 15/03/2013

    Re: Loop dentro de outro

    Mensagem  ahteixeira em 4/9/2018, 12:27

    Olá Marcelo Antonio,

    Quanto a um loop dentro de outro, veja no topico abaixo na mensagem nº 10 o código que fiz para colega:
    [Você precisa estar registrado e conectado para ver este link.]

    Quanto ao erro, veja se Onde tem:
    While (Not rs2.EOF)

    Não será:
    Do While Not rs2.EOF

    Abraço
    avatar
    bigfill
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 27/03/2015

    Re: Loop dentro de outro

    Mensagem  bigfill em 4/9/2018, 12:54

    Bom dia!

    marcelo3092, Tem um exemplo meu que utiliza um loop dentro do outro, da uma olhada se te ajuda.

    [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: 15/10/2018, 20:52