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]Cancelar solicitação saída

    avatar
    Jairo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 117
    Registrado : 09/05/2013

    [Resolvido]Cancelar solicitação saída Empty Cancelar solicitação saída

    Mensagem  Jairo 27/9/2013, 13:26

    Bom Dia a Todos,

    Estou utilizando o código abaixo para baixar item do estoque e quando solicito uma quantidade maio que o Saldo aparece a mensagem que "saldo insuficiente". até ai está tudo Ok.

    Abaixo o código:

    Private Sub Quantidade_Exit(Cancel As Integer)
    On Error Resume Next
    Dim strQuantidade As String
    'busca na tabela a quantidade de estoque existente
    strQuantidade = Val(DLookup("[Quantidade]", "Produto", "[CodigoProduto] = " & Me.CodigoProduto & ""))
    'se o estoque estiver a zero ou inferior a zero ou ainda se a quantidade de saida for maior que a do estoque, aborta...
    If Val(strQuantidade) = 0 Or Val(strQuantidade) < 0 Or Me.Quantidade.Value > Val(strQuantidade) Then
    MsgBox "Saldo insuficiente => " & Me.CodigoProduto.Column(4) & "", vbCritical
    Me.Quantidade = ""
    Cancel = True
    Exit Sub
    Else
    'se tudo estiver bem, retira a quantidade da tabela
    DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE Produto Set [Produto].[Quantidade] = [Produto].[Quantidade] - '" & Me.Quantidade & "' WHERE [Produto].[CodigoProduto] = " & Me.CodigoProduto & ""
    DoCmd.SetWarnings True
    End If
    End Sub


    Gostaria de fazer o seguinte para o código acima.

    Em vez de aparecer a mensagem após digitar uma quantidade maior que o saldo, o mesmo cancelar toda a solicitação, isto é deletar ou seja desconsiderar aquela solicitação desde a Referencia até a Quantidade.

    Veja como acontece:
    Quando digito a "referencia" de um produto o vou digitar a "Quantidade" se o produto estiver zerado a mensagem de saldo Insuficiente aparece só que depois disso o frm não deixa eu mudar a referencia dando erro por isso queria que ele já desconsiderasse aquela solicitação.

    Sé possível, isto é, se for mais fácil pode ser o seguinte, quando for digitado a "Referencia" e o campo "quantidade" for zero a mensagem já aparecer antes de ser selecionado.

    galera o que puder desde já agradeço

    abraços.

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  JPaulo 1/10/2013, 10:13

    Ola;

    Coloque o seu formulario com Visualizar Teclas = Sim

    Teste com o SendKeys "{ESC}", se não funcionar, altere para Me.Undo


    Private Sub Quantidade_Exit(Cancel As Integer)
    On Error Resume Next
    Dim strQuantidade As String
    'busca na tabela a quantidade de estoque existente
    strQuantidade = Val(DLookup("[Quantidade]", "Produto", "[CodigoProduto] = " & Me.CodigoProduto & ""))
    'se o estoque estiver a zero ou inferior a zero ou ainda se a quantidade de saida for maior que a do estoque, aborta...
    If Val(strQuantidade) = 0 Or Val(strQuantidade) < 0 Or Me.Quantidade.Value > Val(strQuantidade) Then
    MsgBox "Saldo insuficiente => " & Me.CodigoProduto.Column(4) & "", vbCritical
    'se o ESC não funfar, altere para Me.Undo para testar
    SendKeys "{ESC}"
    Exit Sub
    Else
    'se tudo estiver bem, retira a quantidade da tabela
    DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE Produto Set [Produto].[Quantidade] = [Produto].[Quantidade] - '" & Me.Quantidade & "' WHERE [Produto].[CodigoProduto] = " & Me.CodigoProduto & ""
    DoCmd.SetWarnings True
    End If
    End Sub


    .................................................................................
    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

    [Resolvido]Cancelar solicitação saída Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Cancelar solicitação saída Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Cancelar solicitação saída Folder_announce_new Instruções SQL como utilizar...
    avatar
    Jairo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 117
    Registrado : 09/05/2013

    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  Jairo 1/10/2013, 17:32

    Boa Tarde JPaulo,

    Nos dois comando ele informa saldo insuficiente e não baixa do estoque. porem está aceitando os dados na tabela. o que preciso é ele desconsidere, isto é, limpe os campos "CodicoProduto" e "Quantidade", para que seja lançado dados que tenham saldo no estoque.


    grato.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  JPaulo 2/10/2013, 09:10

    Não entendi e não conheço a estrutura do seu banco.

    Se preferir anexe aqui parte do seu banco.


    .................................................................................
    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

    [Resolvido]Cancelar solicitação saída Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Cancelar solicitação saída Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Cancelar solicitação saída Folder_announce_new Instruções SQL como utilizar...
    avatar
    Jairo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 117
    Registrado : 09/05/2013

    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  Jairo 3/10/2013, 00:47

    Galera Boa Noite!

    Vou esclarecer melhor,

    Quando foi digitado o "codigoProduto" se o saldo for zero "0" alem de aparecer a mensagem "Saldo Zero" o cursor não ir para campo seguinte permanecer no campo "CódigoProduto"

    abraços

    avatar
    Jairo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 117
    Registrado : 09/05/2013

    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  Jairo 5/10/2013, 02:54

    Boa Note Galera,

    Fiz algumas alterações que exclue a solicitação se a quantidade for maior que o saldo, porem fica registrado na memoria como se le estivesse na tabela dai aparece a "mensagem de duplicidade"

    On Error Resume Next
    Dim strQuantidade As String
    'busca na tabela a quantidade de estoque existente
    strQuantidade = Val(DLookup("[Quantidade]", "Produto", "[CodigoProduto] = " & Me.CodigoProduto & ""))
    'se o estoque estiver a zero ou inferior a zero ou ainda se a quantidade de saida for maior que a do estoque, aborta...
    If Val(strQuantidade) = 0 Or Val(strQuantidade) < 0 Or Me.Quantidade.Value > Val(strQuantidade) Then
    MsgBox "Saldo insuficiente => " & Me.CodigoProduto.Column(3) & "", vbCritical

    novos comandos de teste

    Me.Quantidade = ""
    Cancel = True
    Me.Requery

    Else
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  Avelino Sampaio 5/10/2013, 10:30

    Olá!

    Experimente o métdo me.undo para desfazer todo o registro atual.

    Sucesso!




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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 117
    Registrado : 09/05/2013

    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  Jairo 5/10/2013, 15:13

    Bom dia, a todos,

    ja testei com Me.Undo, não deu certo

    me.requery ==> ajudou porem como eu ja disse não resolveu.

    estou anexando o projeto equero que façam teste de saída.

    no teste escolha "codigoProduto" e uma "quantidade" maior que saldovejam o que acontece quando você testar a opção duas vezes


    grato
    avatar
    Jairo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 117
    Registrado : 09/05/2013

    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  Jairo 6/10/2013, 00:19

    Boa Noite Galera,

    Quero agradecer todas as dicas nessa ajuda.

    o problema foi resolvido

    Substitui os comandos
    Me.Quantidade = ""
    Cancel = True
    Me.Requery

    Pelocomando

    DoCmd.RunCommand acCmdDeleteRecord

    e deu certo

    abraços

    Conteúdo patrocinado


    [Resolvido]Cancelar solicitação saída Empty Re: [Resolvido]Cancelar solicitação saída

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 01:49