Galera, boa tarde!
Estou trabalhando em um BD no qual existem diversas tabelas, sendo duas relevantes para o meu problema: tblProdutos e tblSubAcertoEstoque
Na tblProdutos tenho o campo "Quantidade" e na tblSubAcertoEstoque os campos "Quantidade" e "TipoMov", sendo para este cabível "E" = entrada e "S" = Saída.
Necessito realizar a atualização do campo "Quantidade" da tblProdutos à medida em que vou registrando as movimentações de "entrada" ou "saída". Ou seja:
Preciso realizar o seguinte acerto:
abobrinha = Entrada 100
Banana = Saída de 50
No caso preciso utilizar duas consultas atualização ao mesmo tempo, pois, para o registro abobrinha seria uma entrada de 100, enquanto para o registro banana seria uma saída de 50.
Tentei utilizar o seguinte código, mas não funciona corretamente.
Private Sub cmdSalvar_Click()
'''On Error Resume Next
'Esta função executa a consulta Atualiza Estoque, passando os
'Defino variáveis ------------------------------------------------------------
Dim BancoDeDados As Database
Dim Consulta As QueryDef
Dim strMsg As String
Dim strTitle As String
Dim intRetVal As Integer
Dim Cancel As String
'Pego o Banco de Dados em uso ------------------------------------------------
Set BancoDeDados = CurrentDb()
'Executo a consulta ----------------------------------------------------------
If Me.NewRecord Then
strMsg = "Verifique todos os lançamentos e clique em SIM para atualizar o Acerto do Estoque e NÃO para abortar a atualização!"
strTitle = "Atualizando Estoque"
Else
strMsg = "Verifique todos os lançamentos e clique em SIM para atualizar o Acerto do Estoque e NÃO para abortar a atualização!"
strTitle = "Atualizando Estoque"
End If
intRetVal = MsgBox(strMsg, vbExclamation + vbOKCancel, strTitle)
Select Case intRetVal
Case vbOK
DoCmd.SetWarnings False
If Me.frmSubEstoqueAcerto!Tipo = "E" Then
DoCmd.OpenQuery "qryAtualizaEntradaEstoqueAcerto"
DoCmd.Requery
ElseIf Me.frmSubEstoqueAcerto!Tipo = "S" Then
DoCmd.OpenQuery "qryAtualizaSaidaEstoqueAcerto"
DoCmd.Requery
Else
End If
DoCmd.SetWarnings True
DoCmd.GoToRecord , , acNewRec
CodChaveEstoqAcerto.SetFocus
Case vbCancel
Cancel = True
CodChaveEstoqAcerto.SetFocus
End Select
End Sub
Assim, pergunto aos colegas: É possível executar as duas consultas utilizando o "IF" ? Ou o que pretendo não é viável?
Antecipo agradecimentos.
Júlio Cesar - Pretor
Estou trabalhando em um BD no qual existem diversas tabelas, sendo duas relevantes para o meu problema: tblProdutos e tblSubAcertoEstoque
Na tblProdutos tenho o campo "Quantidade" e na tblSubAcertoEstoque os campos "Quantidade" e "TipoMov", sendo para este cabível "E" = entrada e "S" = Saída.
Necessito realizar a atualização do campo "Quantidade" da tblProdutos à medida em que vou registrando as movimentações de "entrada" ou "saída". Ou seja:
Preciso realizar o seguinte acerto:
abobrinha = Entrada 100
Banana = Saída de 50
No caso preciso utilizar duas consultas atualização ao mesmo tempo, pois, para o registro abobrinha seria uma entrada de 100, enquanto para o registro banana seria uma saída de 50.
Tentei utilizar o seguinte código, mas não funciona corretamente.
Private Sub cmdSalvar_Click()
'''On Error Resume Next
'Esta função executa a consulta Atualiza Estoque, passando os
'Defino variáveis ------------------------------------------------------------
Dim BancoDeDados As Database
Dim Consulta As QueryDef
Dim strMsg As String
Dim strTitle As String
Dim intRetVal As Integer
Dim Cancel As String
'Pego o Banco de Dados em uso ------------------------------------------------
Set BancoDeDados = CurrentDb()
'Executo a consulta ----------------------------------------------------------
If Me.NewRecord Then
strMsg = "Verifique todos os lançamentos e clique em SIM para atualizar o Acerto do Estoque e NÃO para abortar a atualização!"
strTitle = "Atualizando Estoque"
Else
strMsg = "Verifique todos os lançamentos e clique em SIM para atualizar o Acerto do Estoque e NÃO para abortar a atualização!"
strTitle = "Atualizando Estoque"
End If
intRetVal = MsgBox(strMsg, vbExclamation + vbOKCancel, strTitle)
Select Case intRetVal
Case vbOK
DoCmd.SetWarnings False
If Me.frmSubEstoqueAcerto!Tipo = "E" Then
DoCmd.OpenQuery "qryAtualizaEntradaEstoqueAcerto"
DoCmd.Requery
ElseIf Me.frmSubEstoqueAcerto!Tipo = "S" Then
DoCmd.OpenQuery "qryAtualizaSaidaEstoqueAcerto"
DoCmd.Requery
Else
End If
DoCmd.SetWarnings True
DoCmd.GoToRecord , , acNewRec
CodChaveEstoqAcerto.SetFocus
Case vbCancel
Cancel = True
CodChaveEstoqAcerto.SetFocus
End Select
End Sub
Assim, pergunto aos colegas: É possível executar as duas consultas utilizando o "IF" ? Ou o que pretendo não é viável?
Antecipo agradecimentos.
Júlio Cesar - Pretor