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]Caixa de Verificação (Sim/Não)

    Simão Correia
    Simão Correia
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10
    Registrado : 03/11/2017

    [Resolvido]Caixa de Verificação (Sim/Não) Empty [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Simão Correia 12/11/2017, 19:26

    Olá a todos,

    Solicito o vosso auxilio, pois já pesquisei aqui no fórum e em outras fontes mas não obtive nenhum exemplo adaptável à minha realidade.
    Contudo, eu gostaria de saber se é possível não premitir voltar a premir a caixa de verificação (Sim/Não) depois de premida, esta ação atualiza a saída do stock, nomeadamento no Frm_Venda_Itens. Eu utilizo este código para executar essa ação:

    Private Sub Atualizar_Stock_AfterUpdate()

       If Atualizar_Stock = True Then
       If MsgBox("Confirma a quantidade de saída deste produto em Stock?", vbYesNo, "Aviso") = vbYes Then
       
       If IsNull(Me.Quantidade) Or Me.Quantidade = 0 Then
           
    MsgBox "Informe a quantidade de saída no Stock!", vbCritical, "Atenção!"
       Atualizar_Stock = False
       Me.Quantidade.SetFocus
       Exit Sub
       End If
         
    Dim cnn As New ADODB.Connection
    Dim rs1 As ADODB.Recordset
    Set cnn = CurrentProject.Connection
    'Abre a conexão com o registo
    Set rs1 = New ADODB.Recordset
    rs1.CursorType = adOpenKeyset
    rs1.LockType = adLockOptimistic
    'Abre a Tabela_Produtos
    rs1.Open "TB_Registo_Produtos", cnn, , , adCmdTable
    'Compara o código do produto entre as tabelas Produtos e a tabela para entradas de produtos.
    rs1.Find "IDProduto=" & Me.IDProduto, 0, adSearchForward, 1
    If Not rs1.EOF Then
    rs1("Stock") = rs1("Stock") - Me.Quantidade
     If rs1("Stock") < 0 Then
    MsgBox "Quantidade não disponível. O Stock atual é de " & rs1("Stock") + Me.Quantidade & " produtos", vbExclamation, "Atenção!"

    Exit Sub
    Else
    If rs1("Stock") < rs1("Stock_mínimo") Then
    MsgBox "Stock atual deste produto é inferior ao stock mínimo, proceda à reposição do mesmo. Stock mínimo: " & rs1("Stock_mínimo"), vbExclamation, "Atenção" '-rs1 ("Stock") & " produtos(s)", vbExclamation, "Atenção!"
    rs1.Update
    MsgBox "Stock atual: " & rs1("Stock") & " produtos", vbExclamation, "Atenção!"
    Exit Sub
    Else
    rs1.Update
    MsgBox "Stock atual: " & rs1("Stock") & " produtos", vbExclamation, "Atenção!"
    End If
    End If

    rs1.Close
    cnn.Close
    Set cnn = Nothing
    Set rs1 = Nothing
    Else

    End If
    End If
    End If
     
    End Sub

    Uma vez premida a caixa de verificação continua ativa, portanto é possivel realizar a rotina supracitada várias vezes. Ainda relacionado com esta situação o botão de eliminar a linha não retorna a quantidade do produto selecionada na linha em stock.

    Desde já agradeço
    Melhores cumprimentos,
    Simão Correia
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Verificação (Sim/Não) Empty Re: [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Alvaro Teixeira 12/11/2017, 20:43

    Olá Simao,
    Você altera o estado (valor) dessa caixa de verificação após executar o código.
    Ou tem outro campo para verificar se já foi executado ou não?

    Basta ter um IF no início do código que postou a verificar.
    Caso já tenha executado, faz um Exit Sub e pode também colocar uma caixa de mensagem avisar o utilizador.

    Fica a sugestão.

    Abraço
    Simão Correia
    Simão Correia
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10
    Registrado : 03/11/2017

    [Resolvido]Caixa de Verificação (Sim/Não) Empty Re: [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Simão Correia 12/11/2017, 20:47

    O valor predefenido da caixa de verificação é não, ou seja se premir fica sim desta forma eu sei que está executado.
    Mas eu pertendo que não depois de executada não fique novamente ativa!

    Abraço.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Verificação (Sim/Não) Empty Re: [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Alvaro Teixeira 13/11/2017, 08:54

    Olá Simão,

    Para o efeito use o Enable, exemplo:

    MinhaCaixa.enable = false

    Se for num formulario de navegação de vários registos, coloque no evento Form Current
    Neste caso terá que usar o IF para verificar se é sim ou não.

    Abraço


    Simão Correia
    Simão Correia
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10
    Registrado : 03/11/2017

    [Resolvido]Caixa de Verificação (Sim/Não) Empty Re: [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Simão Correia 18/11/2017, 19:58

    Boa noite Álvaro,

    Sim é num subformulário. Como posso fazer isso?

    Obrigado pela resposta.

    Abraço
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Verificação (Sim/Não) Empty Re: [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Alvaro Teixeira 20/11/2017, 12:35

    Olá Simão Correia,

    Seria mais fácil se colocar a base de dados com os objectos envolvidos.

    Fiz pequeno exemplo, presumindo que será em sub-formulario corrido.
    Veja o código utilizado:
    Código:
    Option Compare Database

    Private Sub booAtualizado_AfterUpdate()
        Me.booAtualizado.Enabled = False
    End Sub

    Private Sub Form_Current()
        If Me.booAtualizado = True Then
            Me.booAtualizado.Enabled = False
        Else
            Me.booAtualizado.Enabled = True
        End If
    End Sub

    Exemplo:
    cld.pt/dl/download/25fdba4e-56c1-47cf-8567-f50cc3aea82f/SimNao_Stock.zip
    Copiar link e colar no Browser

    Abraço


    Última edição por ahteixeira em 20/11/2017, 15:51, editado 1 vez(es)
    Simão Correia
    Simão Correia
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10
    Registrado : 03/11/2017

    [Resolvido]Caixa de Verificação (Sim/Não) Empty Re: [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Simão Correia 20/11/2017, 14:57

    Perfeito, muito obrigado!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Verificação (Sim/Não) Empty Re: [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Alvaro Teixeira 20/11/2017, 15:52

    Olá Simão Correia, obrigado pelo retorno.
    Fico feliz por ser o que pretende e ter ajudado.

    Abraço

    Conteúdo patrocinado


    [Resolvido]Caixa de Verificação (Sim/Não) Empty Re: [Resolvido]Caixa de Verificação (Sim/Não)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 23:21