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]Campo calculado em consulta com varias condições

    avatar
    rionide
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/03/2014

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty [Resolvido]Campo calculado em consulta com varias condições

    Mensagem  rionide 21/11/2022, 13:18

    Bom dia, Pessoal!
    Estou aqui de novo para mais uma ajuda. Estou deixando anexo meu projeto.
    Preciso criar um campo na minha Con_Soma_Estoque chamado: Situação onde vai me mostrar qual a situação do meu estoque, igual eu tenho no meu projeto do Excel que também estou deixando em anexo para comparação.

    Tentei assim: Situacao: somase([Estoque]<=0;"ACABOU";SE([Estoque]<=[Estoque_Maximo]*30/100;"URGENTE";SE([Estoque]<=[Estoque_Maximo]*40/100;"ATENÇÃO";SE([Estoque]>=[Estoque_Maximo]*50/100;"OK";""))))

    Porem não da certo na hora de executar a consulta.

    Preciso extamente igual esse do Excel mais na consulta do Access
    estoque - [Resolvido]Campo calculado em consulta com varias condições Excel11
    Anexos
    estoque - [Resolvido]Campo calculado em consulta com varias condições AttachmentControle_Estoque.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (372 Kb) Baixado 10 vez(es)
    Cristian Souza
    Cristian Souza
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 12/01/2021

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Re: [Resolvido]Campo calculado em consulta com varias condições

    Mensagem  Cristian Souza 22/11/2022, 15:24

    Olá Rionide Very Happy

    Tente criar uma nova coluna chamada "Situacao" na "Tbl_Estoque".

    Feito isso, coloque a instrução UPDATE do SQL no botão "Salvar" com base nos seus critérios mencionados.
    avatar
    rionide
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/03/2014

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Re: [Resolvido]Campo calculado em consulta com varias condições

    Mensagem  rionide 25/11/2022, 11:07

    Bom dia, Cristian Souza!
    Agradeço pela resposta.
    Me desculpe pela demora em dar a resposta, tive uns problemas estava fora.
    Mais uma vez peço desculpa, não entendi a sua dica, o que realmente fazer. Fiz a instrução SQL que ficou assim:

    SELECT Con_Soma_Entrada.ID_Estoque, Con_Soma_Entrada.Suprimento, Con_Soma_Entrada.SomaDeQtde_Entrada, Con_Soma_Saida.SomaDeQtde_Saida, [SomaDeQtde_Entrada]-[SomaDeQtde_Saida] AS Estoque, Con_Soma_Entrada.Estoque_Maximo, somase([Estoque]<=0,"ACABOU",SE([Estoque]<=[Estoque_Maximo]*30/100,"URGENTE",SE([Estoque]<=[Estoque_Maximo]*40/100,"ATENÇÃO",SE([Estoque]>=[Estoque_Maximo]*50/100,"OK","")))) AS Situacao
    FROM Con_Soma_Saida INNER JOIN Con_Soma_Entrada ON Con_Soma_Saida.ID_Estoque = Con_Soma_Entrada.ID_Estoque;

    Agora onde vai UPDATE eu não sei. Me desculpe a ignorância, ainda estou no inicio de meus estudando em access.
    Se vocês puder me ajudar com essa questão, depois que estiver pronto eu posto o BD para outras pessoas que quiser um controle de entrada e saída, simples mais funcional.
    Cristian Souza
    Cristian Souza
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 12/01/2021

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Re: [Resolvido]Campo calculado em consulta com varias condições

    Mensagem  Cristian Souza 25/11/2022, 18:58

    Veja se atende:

    Criei uma coluna na Tbl_Estoque chamada "situacao"

    No botão salvar do seu formulário de estoque, inseri o seguinte código:

    Código:


        ' Atualizar status
        
        
                'Declaração da variável
                Dim Situacao As String
                
                'Atribuição de valores para a variável
                
                If Me.Txt_Estoque <= "0" Then
                     Situacao = "ACABOU"
                End If
                
                If Me.Estoque <= ((Me.Estoque_Maximo * 30) / 100) And Me.Estoque <> "0" Then
                     Situacao = "URGENTE"
                End If
                
                If Me.Estoque <= ((Me.Estoque_Maximo * 40) / 100) And Me.Estoque <> "0" Then
                     Situacao = "ATENÇÃO"
                End If
                
                If Me.Estoque >= ((Me.Estoque_Maximo * 50) / 100) And Me.Estoque <> "0" Then
                     Situacao = "OK"
                End If
              
                
                'Atualizar registro
                CurrentDb.Execute "UPDATE Tbl_Estoque SET [Situacao]='" & Situacao & "' WHERE [ID_Estoque] = " & Me.Txt_ID_Entrada
                Me.Form.Requery
                Me.ListBox_Estoque_Suprimento.Requery

    Anexos
    estoque - [Resolvido]Campo calculado em consulta com varias condições AttachmentControle_Estoque (1).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (749 Kb) Baixado 7 vez(es)
    avatar
    rionide
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/03/2014

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Cristian Souza

    Mensagem  rionide 28/11/2022, 13:08

    Bom dia, Cristian Souza!
    Muito agradecido pela ajuda, esta funcionado do jeito que vc fez, porem tem alguns erro, por exemplo:
    Toner Compativel TN880 = 1 em estoque, era para estar com Situação "URGENTE" esta ATENÇÃO
    Cilindro Compativel DR3440 e Amarelo Compativel TN315Y = era para estar com Situação "URGENTE" e esta em branco

    E a outra questão é que esta funcionando apenas no Frm_Estoque, não sei se foi eu que fiz errado mais esse Frm_Estoque é só pra alterar Estoque maximo ou acrescentar algum suprimento novo.
    As entrada e saída seria feita nos Frm_Entrada e Frm_Saida.
    Ate tentei colocar o código no botão salvar nos Frm_Entrada e Frm_Saida mais esta dando erro.

    Segue B.D com as Atualizações que fiz.

    Se puder me dar mais essa ajuda fico imensamente agradecido.estoque - [Resolvido]Campo calculado em consulta com varias condições Estoqu10
    estoque - [Resolvido]Campo calculado em consulta com varias condições Estoqu10
    Anexos
    estoque - [Resolvido]Campo calculado em consulta com varias condições AttachmentControle_Estoque_Atualizado_28-11-22.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (330 Kb) Baixado 11 vez(es)
    Cristian Souza
    Cristian Souza
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 12/01/2021

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Re: [Resolvido]Campo calculado em consulta com varias condições

    Mensagem  Cristian Souza 28/11/2022, 15:47

    Olá Rionid Very Happy

    Observe que a situação de alguns campos ficaram em branco pois você não definiu nenhum resultado entre 40% e 50%, veja no código abaixo:

    Código:

    SE([Estoque][b]<=[Estoque_Maximo]*40/100[/b],"ATENÇÃO",SE([Estoque][b]>=[Estoque_Maximo]*50/100,[/b]"OK",

    Referente aos formulários de entrada e saída, tente utilizar o código abaixo no botão salvar do formulário de entrada. Caso atenda, basta adapta-lo para os demais formulários.

    Código:

        ' Atualizar status
       
                'Criação da variável
                Dim QuantidadeEmEstoque, EstoqueMaximo
               
                'Verifica quantas peças tem em estoque
               
               
                '---------------------------------------------------------------
               
                Dim seq As String, k
                seq = "[Estoque] & '|' & [Estoque_Maximo]"
                seq = DLookup(seq, "Con_Soma_Estoque", "[ID_Estoque] = " & Me.Txt_ID_Entrada)
                k = Split(seq, "|")
                QuantidadeEmEstoque = k(0)
                EstoqueMaximo = k(1)
               
                'Define a situação conforme a quantidade de peças
               
                            'Declaração da variável
                            Dim Situacao As String
                           
                            'Atribuição de valores para a variável
                           
                            If QuantidadeEmEstoque <= 0 Then
                                Situacao = "ACABOU"
                               
                            ElseIf QuantidadeEmEstoque > 0 And QuantidadeEmEstoque <= ((EstoqueMaximo * 30) / 100) Then
                                Situacao = "URGENTE"
                           
                            ElseIf QuantidadeEmEstoque > ((EstoqueMaximo * 30) / 100) And QuantidadeEmEstoque < ((EstoqueMaximo * 50) / 100) Then
                                Situacao = "ATENÇÃO"
               
                            ElseIf QuantidadeEmEstoque >= ((EstoqueMaximo * 50) / 100) Then
                                Situacao = "OK"
                            End If
       
                'Atualizar registro
                CurrentDb.Execute "UPDATE Tbl_Estoque SET [Situacao]='" & Situacao & "' WHERE [ID_Estoque] = " & Me.Txt_ID_Entrada
                Me.ListBox_Estoque.Requery




    avatar
    rionide
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/03/2014

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Cristian Souza

    Mensagem  rionide 29/11/2022, 12:03

    Bom dia, Cristian Souza
    O codigo do jeito que vc postou no botão salvar do Frm_Entrada não atualiza o campo Situacao, fiz uma alteração de campo:

    'Atualizar registro
               CurrentDb.Execute "UPDATE Tbl_Estoque SET [Situacao]='" & Situacao & "' WHERE [ID_Estoque] = " & Me.Txt_ID_Entrada

    PARA:

    'Atualizar registro
               CurrentDb.Execute "UPDATE Tbl_Estoque SET [Situacao]='" & Situacao & "' WHERE [ID_Estoque] = " & Me.Cbx_Tipo_Suprimento

    Assim atualiza o campo Situacao, porem fica errado os resultado do campo Situacao, estou postando novamente meu B.D para verificação.
    Anexos
    estoque - [Resolvido]Campo calculado em consulta com varias condições AttachmentControle_Estoque_Atualizado_29-11-22.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (434 Kb) Baixado 4 vez(es)
    avatar
    rionide
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/03/2014

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Passar condição do VBA para Consulta

    Mensagem  rionide 2/12/2022, 15:49

    Boa tarde, Pessoal do forum.
    Queria ver com vocês se é possível passar essa condição que posto abaixo do VBA para uma consulta?
    Lembrando que tem tudo ai no B.D que já postei na minha resposta anterior a essa.
    Esse codigo abaixo esta no Botão Salvar no meu Frm_Estoque, Campo: Situação esta na Tbl_Estoque, porem para ele funcionar do jeito que preciso, se fosse na consulta era o ideal.

    Código:
    ' Atualizar status
       
               'Criação da variável
               Dim QuantidadeEmEstoque, EstoqueMaximo
               
               'Verifica quantas peças tem em estoque
               '---------------------------------------------------------------
               Dim seq As String, k
               seq = "[Estoque] & '|' & [Estoque_Maximo]"
               seq = DLookup(seq, "Con_Suprimento_Soma_Estoque", "[ID_Estoque] = " & Me.Cbx_Suprimento_Entra)
               k = Split(seq, "|")
               QuantidadeEmEstoque = k(0)
               EstoqueMaximo = k(1)
               
               'Define a situação conforme a quantidade de peças
               
                       'Declaração da variável
                       Dim Situacao As String
                           
                           'Atribuição de valores para a variável
                           
                           If QuantidadeEmEstoque <= 0 Then
                               Situacao = "ACABOU"
                           End If
                               
                           If QuantidadeEmEstoque > "0" And QuantidadeEmEstoque <= ((EstoqueMaximo * 30) / 100) Then
                               Situacao = "URGENTE"
                           End If
                               
                           If QuantidadeEmEstoque >= ((EstoqueMaximo * 30) / 100) And QuantidadeEmEstoque < ((EstoqueMaximo * 50) / 100) Then
                               Situacao = "ATENÇÃO"
                           End If
                   
                           If QuantidadeEmEstoque >= ((EstoqueMaximo * 50) / 100) Then
                               Situacao = "OK"
                           End If
                           MsgBox (Situacao)
       
           'Atualizar registro
           CurrentDb.Execute "UPDATE Tbl_Suprimento_Estoque SET [Situacao]='" & Situacao & "' WHERE [ID_Estoque] = " & Me.Cbx_Suprimento_Entra
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Re: [Resolvido]Campo calculado em consulta com varias condições

    Mensagem  Avelino Sampaio 2/12/2022, 17:17

    Olá!

    Minha proposta para o seu caso é utilizar um campo virtual na consulta e neste campo virtual uma chamada de uma função global, trazendo o resultado para cada linha.  A função global fica desta forma:

    Public Function fncSituacao(intEstoque%, intMaximo%) As String
    Select Case intEstoque
       Case Is <= 0
           fncSituacao = "ACABOU"
       Case Is <= ((intMaximo * 30) / 100)
           fncSituacao = "URGENTE"
       Case Is <= ((intMaximo * 40) / 100)
           fncSituacao = "ATENÇÃO"
       Case Is >= ((intMaximo * 50) / 100)
           fncSituacao = "OK"
       Case Else
           fncSituacao = "---"
    End Select
    End Function


    e no campo virtual:  Situação: fncSituacao([estoque];[estoque_maximo])

    Segue o exemplo modificado.


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.

    rionide gosta desta mensagem

    avatar
    rionide
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/03/2014

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Controle de entrada, saída e estoque - Avelino Sampaio

    Mensagem  rionide 3/12/2022, 11:50

    Bom dia, Avelino Sampaio!
    Era exatamente o que eu queria, matou a pau, muitíssimo obrigado.
    Estou postando novamente meu B.D com as alterações que fiz, alterações somente na apresentação da Listbox, era isso mesmo agora esta do jeito que eu quero, esta ai meu projeto para outras pessoas que queira, só fazer as alterações necessárias.
    Projeto simples mais funcional para um controle de entrada e saída de mercadoria, saber em em tempo real na entrada e na saída como esta seu estoque.
    Anexos
    estoque - [Resolvido]Campo calculado em consulta com varias condições AttachmentControle_Estoque_rev2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (256 Kb) Baixado 19 vez(es)
    avatar
    rionide
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/03/2014

    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Resolvido

    Mensagem  rionide 6/12/2022, 10:47

    Muito obrigado pessoal do forum, pelo apoio.

    Conteúdo patrocinado


    estoque - [Resolvido]Campo calculado em consulta com varias condições Empty Re: [Resolvido]Campo calculado em consulta com varias condições

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 00:40