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]Gestão de Stocks

    avatar
    Moinas
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 12
    Registrado : 30/05/2012

    [Resolvido]Gestão de Stocks Empty Gestão de Stocks

    Mensagem  Moinas 22/4/2013, 16:38

    Boa tarde,
    Tenho o seguinte código para retirar unidades do stock:

    Private Sub Retirar_Click()
    Dim msg1, str As Integer
    msg1 = "Pretende retirar " & Me.QuantidadeT & " unidades ao Stock do produto com código " & Me.TextCodProduto & "?"
    If (IsNull(Me.QuantidadeT.Value)) Or (IsNull(Me.ObraT.Value)) Or (IsNull(Me.NomeFuncionarioT.Value)) Then
    str = MsgBox("Deve preencher o(s) campo(s) vazio(s)!", vbOK, "Atenção")
    Else
    If (MsgBox(msg1, vbOK, "Retirar ao Stock") = vbOK) Then
    DoCmd.RunSQL " UPDATE PecasLigacao SET Quantidade = (Quantidade-QuantidadeT) WHERE PecasLigacao.CodProduto = TextCodProduto;"
    DoCmd.RunSQL "insert into ListagemPecasLigacao(CodProdutoL,DescricaoL,QuantidadeL,Obra,Data,NomeFuncionarioL) values (TextCodProduto,TextDescricao,- QuantidadeT,ObraT,DataT,NomeFuncionarioT);"
    DoCmd.Close acForm, "MovimentacaoPecasLigacao"
    End If
    End If
    End Sub




    TextQuantidade é a quantidade em Stock
    QuantidadeT é a quantidade que quer retirar de stock (preenchido pelo utilizador)

    Eu queria que antes de retirar verifica-se se a QuantidadeT não é maior do que a TextQuantidade e se for maior mostrar uma mensagem e não deixar avançar, esta verificação tem que ser feita ao carregar no botão, pois este formulário contém o inserir stock e retirar stock.

    Fico a aguardar comentários.

    Diogo

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  JPaulo 22/4/2013, 16:45

    teste;


    Private Sub SuaCheckBox_AfterUpdate()
    Dim msg1, str As Integer
    msg1 = "Pretende retirar " & Me.QuantidadeT.Value & " unidades ao Stock do produto com código " & Me.TextCodProduto.Value & "?"

    If IsNull(Me.QuantidadeT.Value) Or IsNull(Me.ObraT.Value) Or IsNull(Me.NomeFuncionarioT.Value) Then
    str = MsgBox("Deve preencher o(s) campo(s) vazio(s)!", vbOK, "Atenção")
    Exit Sub
    End If


    If MsgBox(msg1, vbOK, "Retirar ao Stock") = vbOK Then
    If Me.QuantidadeT.Value > Me.TextQuantidade.Value Then
    MsgBox "Quantidade de retirada não pode ser superior ao stock...", vbCritical
    Exit Sub
    Else
    DoCmd.RunSQL " UPDATE PecasLigacao SET Quantidade = (Quantidade-QuantidadeT) WHERE PecasLigacao.CodProduto = TextCodProduto;"
    DoCmd.RunSQL "insert into ListagemPecasLigacao(CodProdutoL,DescricaoL,QuantidadeL,Obra,Data,NomeFuncionarioL) values (TextCodProduto,TextDescricao,- QuantidadeT,ObraT,DataT,NomeFuncionarioT);"
    DoCmd.Close acForm, "MovimentacaoPecasLigacao"
    End If
    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]Gestão de Stocks Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gestão de Stocks Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gestão de Stocks Folder_announce_new Instruções SQL como utilizar...
    avatar
    Moinas
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 12
    Registrado : 30/05/2012

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  Moinas 22/4/2013, 16:53

    Não funciona.
    Quando clico no botão de a quantidadeT for superior aparece a mensagem msg1 e depois a mensagem de erro
    e se for inferior faz a mesma coisa aparede msg1 e depois a mensagem de erro.
    Em qualquer dos casos aparece a msg1 primeiro.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  JPaulo 22/4/2013, 16:57

    Não consigo perceber é porque você se já viu que está ao contrario, não alterar para o correto;


    .................................................................................
    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]Gestão de Stocks Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gestão de Stocks Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gestão de Stocks Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  JPaulo 22/4/2013, 16:57

    Private Sub SuaCheckBox_AfterUpdate()
    Dim msg1, str As Integer
    msg1 = "Pretende retirar " & Me.QuantidadeT.Value & " unidades ao Stock do produto com código " & Me.TextCodProduto.Value & "?"

    If IsNull(Me.QuantidadeT.Value) Or IsNull(Me.ObraT.Value) Or IsNull(Me.NomeFuncionarioT.Value) Then
    str = MsgBox("Deve preencher o(s) campo(s) vazio(s)!", vbOK, "Atenção")
    Exit Sub
    End If

    If Me.QuantidadeT.Value > Me.TextQuantidade.Value Then
    MsgBox "Quantidade de retirada não pode ser superior ao stock...", vbCritical
    Exit Sub
    End If

    If MsgBox(msg1, vbOK, "Retirar ao Stock") = vbOK Then
    DoCmd.RunSQL " UPDATE PecasLigacao SET Quantidade = PecasLigacao.Quantidade-" & Me.QuantidadeT.Value & " WHERE PecasLigacao.CodProduto = " & Me.TextCodProduto
    DoCmd.RunSQL "insert into ListagemPecasLigacao(CodProdutoL,DescricaoL,QuantidadeL,Obra,Data,NomeFuncionarioL) values (TextCodProduto,TextDescricao,QuantidadeT,ObraT,DataT,NomeFuncionarioT);"
    DoCmd.Close acForm, "MovimentacaoPecasLigacao"
    End If
    End Sub


    Última edição por JPaulo em 22/4/2013, 17:06, editado 1 vez(es) (Motivo da edição : Correção)


    .................................................................................
    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]Gestão de Stocks Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gestão de Stocks Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gestão de Stocks Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  JPaulo 22/4/2013, 16:59

    E atenção à linha do UPDATE:


    'Se QuantidadeT for numerico e TextCodProduto numerico
    DoCmd.RunSQL " UPDATE PecasLigacao SET Quantidade = (Quantidade-" & Me.QuantidadeT.Value & ") WHERE PecasLigacao.CodProduto = " & Me.TextCodProduto

    'Se QuantidadeT for texto e TextCodProduto texto
    DoCmd.RunSQL " UPDATE PecasLigacao SET Quantidade = (Quantidade-'" & Me.QuantidadeT.Value & "') WHERE PecasLigacao.CodProduto = '" & Me.TextCodProduto & "'"



    .................................................................................
    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]Gestão de Stocks Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gestão de Stocks Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gestão de Stocks Folder_announce_new Instruções SQL como utilizar...
    avatar
    Moinas
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 12
    Registrado : 30/05/2012

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  Moinas 23/4/2013, 14:37

    Boa tarde
    Já tentei várias formas e já aparece a mensagem quando retiro mais que o stock, só que existe um problema, se o stock é de 120 se eu retirar 10 funciona se eu retirar 20 aparece a mensagem a indicar que não tem stock, tambem acontece se retirar 30,40,.... só dá se começar por 1... e ao adicionar em vez de fazer a soma acrescenta esse numero ao valor do stock(ex.: 1+1=11 em vez de 1+1=2)
    Poderá esse erro dar por ser os campos CodProduto e Quantidade serem formato texto...?

    Envio a BD para ver se dá para entender melhor...

    https://www.dropbox.com/s/nwn5hjspje6b706/testestock.mdb

    Fico a aguardar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  JPaulo 23/4/2013, 14:43

    Ora vamos lá ver.... aguarde


    .................................................................................
    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]Gestão de Stocks Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gestão de Stocks Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gestão de Stocks Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  JPaulo 23/4/2013, 14:50

    Ora teste lá por favor;


    Private Sub Retirar_Click()
    Dim msg1, str As Integer
    msg1 = "Pretende retirar " & Me.QuantidadeT.Value & " unidades ao Stock do produto com código " & Me.TextCodProduto.Value & "?"

    If IsNull(Me.QuantidadeT.Value) Or IsNull(Me.ObraT.Value) Or IsNull(Me.NomeFuncionarioT.Value) Then
    str = MsgBox("Deve preencher o(s) campo(s) vazio(s)!", vbOK, "Atenção")
    Exit Sub
    End If

    If Val(Me.QuantidadeT.Value) > Val(Me.TextQuantidade.Value) Then
    MsgBox "Quantidade de retirada não pode ser superior ao stock...", vbCritical
    Exit Sub
    Else
    If MsgBox(msg1, vbOK, "Retirar ao Stock") = vbOK Then
    DoCmd.SetWarnings False
    DoCmd.RunSQL " UPDATE PecasLigacao SET Quantidade = Quantidade-'" & Me.QuantidadeT.Value & "' WHERE PecasLigacao.CodProduto = '" & Me.TextCodProduto & "'"
    DoCmd.RunSQL "insert into ListagemPecasLigacao(CodProdutoL,DescricaoL,QuantidadeL,Obra,Data,NomeFuncionarioL) values (TextCodProduto,TextDescricao,- QuantidadeT,ObraT,DataT,NomeFuncionarioT);"
    DoCmd.SetWarnings True
    DoCmd.Close acForm, "MovimentacaoPecasLigacao"
    End If
    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]Gestão de Stocks Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gestão de Stocks Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gestão de Stocks Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  JPaulo 23/4/2013, 14:57

    A instrução no botão Inserir também está mal;

    Corriga para esta;


    DoCmd.RunSQL " UPDATE PecasLigacao SET Quantidade = Quantidade+" & Val(Me.QuantidadeT.Value) & " WHERE PecasLigacao.CodProduto = '" & Me.TextCodProduto & "'"




    .................................................................................
    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]Gestão de Stocks Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gestão de Stocks Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gestão de Stocks Folder_announce_new Instruções SQL como utilizar...
    avatar
    Moinas
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 12
    Registrado : 30/05/2012

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  Moinas 23/4/2013, 15:17

    era mesmo isto....quem sabe sabe..já andava de volta disto a algum tempo...

    Muito obrigado
    Resolvido
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  JPaulo 23/4/2013, 15:36

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    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]Gestão de Stocks Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gestão de Stocks Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gestão de Stocks Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Gestão de Stocks Empty Re: [Resolvido]Gestão de Stocks

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 18:45