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

    [Resolvido]Contar em um Formulário

    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    [Resolvido]Contar em um Formulário Empty [Resolvido]Contar em um Formulário

    Mensagem  Misson Lira 10/1/2017, 19:33

    Bao tarde Pessoal!

    Estou mais uma vez precisando da ajuda de vcs.
    estou fazer um BD para vendas, onde nele tem um FRM de Estoque, Quando o produto fica abaixo do estoque, valor Minimo, o frm ele da um aviso "Stock Abaixo"d, e pinta toda a linha em vermelho do produto em questão...
    gostaria de fazer o seguinte.

    Coloca uma caixa texto para quando abri o frm ele me mostra automaticamente quantos produtos tem abaixo do stock quantos produtos estao no limite
    e também coloca uma caixa de combinação onde nela vai ter 2 opção Stock baixo e Stock OK, Quando selecionar ele vai me da somente os produtos em questão

    desde já agradeço pela ajuda de vcs
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Contar em um Formulário Empty Contar em um Formulário

    Mensagem  CassioFabre 12/1/2017, 11:08

    Bom dia,

    Se voce quer apenas saber a quantidade é bem simples, basta utilizar a função DCount() do próprio access. Supondo que voce tenha na tabela um campo "estoque" e um campo "estoqueminimo" no evento Após Atualizar do seu formulário coloque:
    Código:

    txtProdutosEstoqueMinimo = DCount("estoqueAtual", "tblEstoque", "estoque >= estoqueminimo")
    txtProdutosEstoqueAbaixo = DCount("estoqueAtual", "tblEstoque", "estoque < estoqueminimo")

    -----

    Se voce quiser disparar isso atraves de uma caixa de combinação, voce pode ter apenas um campo de texto e disparar o DCount no evento Após Atualizar da caixa. Ficaria:

    Código:
    Private Sub cbxM2Estoque_AfterUpdate()
        If Not IsNull(cbxM2Estoque) = True Then
            If cbxM2Estoque = "Abaixo" Then
                txtM2Estoque = DCount("estoque", "tblEstoque", "estoque < estoqueminimo")
                rtlM2Estoque.Caption = "Abaixo"
            Else
                txtM2Estoque = DCount("estoque", "tblEstoque", "estoque >= estoqueminimo")
                rtlM2Estoque.Caption = "OK"
            End If
        Else
            
        End If
    End Sub

    ----

    Uma terceira maneira de fazer isso é utilizando em conjunto uma caixa de combinação com uma caixa de listagem. O efeito é o mesmo da segunda forma, mas aqui ao invés de definir campos de texto, tem que setar o RowSource da caixa de listagem para o desejado. Ficaria algo como:

    Código:
    Private Sub cbxM3Estoque_AfterUpdate()
        If Not IsNull(cbxM3Estoque) = True Then
            cbxListaestoque.ColumnCount = 4
            cbxListaestoque.ColumnHeads = True
            
            If cbxM3Estoque = "Abaixo" Then
                cbxListaestoque.RowSource = "Select * from tblEstoque where estoque < estoqueminimo"
                
                rtlListaEstoque.Caption = "Produtos com estoque Abaixo do mínimo"
            Else
                cbxListaestoque.RowSource = "Select * from tblEstoque where estoque >= estoqueminimo"
                rtlListaEstoque.Caption = "Produtos com estoque no mínimo ou acima"
            End If
        Else
            cbxListaestoque.RowSource = ""
            rtlListaEstoque.Caption = "Seleciona um tipo acima"
        End If
    End Sub

    Acredito que uma dessas formas vai te servir bem. Estou enviando em anexo um modelo que montem aqui com Modelo 1, 2 e 3 respectivamente cada um que falei acima. O código não é dificil de entender, mas qualquer duvida é só gritar.

    Abraço.
    Anexos
    [Resolvido]Contar em um Formulário Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (48 Kb) Baixado 19 vez(es)
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    [Resolvido]Contar em um Formulário Empty Re: [Resolvido]Contar em um Formulário

    Mensagem  Misson Lira 15/1/2017, 14:18

    Meu nobre desculpa pela demora, estava impossibilitado de te reponder, mais olhei agora seu exemplos.
    Mais uma coisa, no seu 3 exemplo gostei muito, teria como fazer em um frm (continuo) sem usa a caixa de listagem? E para pesquisa o nome do produto nessa caixa?
    E agradeço muito pela ajuda, mais uma vez desculpa pela demora.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Contar em um Formulário Empty Contar em um Formulario

    Mensagem  CassioFabre 16/1/2017, 11:14

    Bom dia,

    Não entendi bem o motivo de querer um formulário continuo apenas para consulta, mas é sim possível fazer funcionar dessa maneira. Pra isso, é preciso utilizar a propriedade filter e filterOn do formulário.

    Eu criei um form contínuo (formEstoque) acoplado à tabela do meu exemplo anterior, e o coloquei no formulário formTeste como subFormulario. Criei mais uma caixa de listagem e, exatamente como na caixa do Modelo 3, no evento após atualizar coloquei o seguinte código:

    Código:
    Dim filtro As String
        
        If Not IsNull(cbxM4Estoque) = True Then
            If cbxM4Estoque = "Abaixo" Then
                filtro = "estoque < estoqueminimo"
            Else
                filtro = "estoque >= estoqueminimo"
            End If
                
                Me.formEstoque.Form.Filter = filtro
                Me.formEstoque.Form.FilterOn = True
        Else
            Me.formEstoque.Form.FilterOn = False
        End If

    Segue o modelo em anexo.

    Abraço.
    Anexos
    [Resolvido]Contar em um Formulário Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (49 Kb) Baixado 25 vez(es)
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    [Resolvido]Contar em um Formulário Empty Re: [Resolvido]Contar em um Formulário

    Mensagem  Misson Lira 18/1/2017, 17:01

    Boa tarde! Gostei muito do seu exemplo muito obrigado... ta me ajudando muito.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Contar em um Formulário Empty Contar em um Formulário

    Mensagem  CassioFabre 19/1/2017, 10:25

    Bom dia,

    Agradecemos o retorno.

    Abraço.

    Conteúdo patrocinado


    [Resolvido]Contar em um Formulário Empty Re: [Resolvido]Contar em um Formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 10:44