Boa tarde,
Estou com uma dúvida e não sei como resolver, pelo que pedia-vos uma ajuda.
Na BD que estou a criar, coloquei uma tela de venda de artigos com controle de stock (código que copiei do BD Estoqueastra).
Agora gostava de vender um produto que na mesma BD não tenha controle de stock, como por exemplo serviços. Não consigo contornar o problema.
Pretendo que ao colocar o código do produto, no campo codprod, se esse campo comessar com a palavra serv (ex: serviços; ou servalug) o controle de stock seja ignorado para que possa vender o serviço.
coloco um paste do código que estou a utilizar.
Option Compare Database
Option Explicit
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const conErrFielRequired = 2116 'Erro causado pela QtdeSaída > stoque
If DataErr = conErrFielRequired Then
MsgBox "Quantidade de saída maior que o stoque! Verifique a quantidade.", vbExclamation, "ACADEMIA DEFESA PESSOAL"
Response = acDataErrContinue
Else
Response = acDataErrDisplay 'Exibe mensagem de erro
End If
End Sub
Private Sub QtdeVend_AfterUpdate()
If [QtdeVend] > 0 Then
[Qtdestq] = [Qtdestq] - [QtdeVend]
End If
End Sub
Private Sub QtdeVend_BeforeUpdate(Cancel As Integer)
If [QtdeVend] > [Qtdestq] Then
MsgBox "Não temos tantas unidades! Temos somente " & [Qtdestq] & " unidade(s) deste produto!", vbCritical, "ACADEMIA DEFESA PESSOAL"
DoCmd.CancelEvent ' Cancelar o Evento, ou seja não permitir a venda
Exit Sub ' Cair fora e não processar o restante da procedure
End If
If [QtdeVend] < 0 Then
[Qtdestq] = [Qtdestq] + Abs([QtdeVend])
End If
End Sub
Obrigado
Estou com uma dúvida e não sei como resolver, pelo que pedia-vos uma ajuda.
Na BD que estou a criar, coloquei uma tela de venda de artigos com controle de stock (código que copiei do BD Estoqueastra).
Agora gostava de vender um produto que na mesma BD não tenha controle de stock, como por exemplo serviços. Não consigo contornar o problema.
Pretendo que ao colocar o código do produto, no campo codprod, se esse campo comessar com a palavra serv (ex: serviços; ou servalug) o controle de stock seja ignorado para que possa vender o serviço.
coloco um paste do código que estou a utilizar.
Option Compare Database
Option Explicit
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const conErrFielRequired = 2116 'Erro causado pela QtdeSaída > stoque
If DataErr = conErrFielRequired Then
MsgBox "Quantidade de saída maior que o stoque! Verifique a quantidade.", vbExclamation, "ACADEMIA DEFESA PESSOAL"
Response = acDataErrContinue
Else
Response = acDataErrDisplay 'Exibe mensagem de erro
End If
End Sub
Private Sub QtdeVend_AfterUpdate()
If [QtdeVend] > 0 Then
[Qtdestq] = [Qtdestq] - [QtdeVend]
End If
End Sub
Private Sub QtdeVend_BeforeUpdate(Cancel As Integer)
If [QtdeVend] > [Qtdestq] Then
MsgBox "Não temos tantas unidades! Temos somente " & [Qtdestq] & " unidade(s) deste produto!", vbCritical, "ACADEMIA DEFESA PESSOAL"
DoCmd.CancelEvent ' Cancelar o Evento, ou seja não permitir a venda
Exit Sub ' Cair fora e não processar o restante da procedure
End If
If [QtdeVend] < 0 Then
[Qtdestq] = [Qtdestq] + Abs([QtdeVend])
End If
End Sub
Obrigado