Boa noite Pessoal.
Estou com um pequeno probleminha, que achei que fosse simples... mas ja estou a dois dias tentando resolver e nada....
Funciona assim:
eu tenho uma tabela relacionada a outra como 1 para muitos. eu criei um form para cada.... o form principal eu tenho uma solicitação de um serviço num determinado material na quantidade de 2000 por exemplo. sendo assim... estes 2000 mil itens serao distribuidos para algumas pessoas, entao o que fiz. criei no form uma campo onde ele soma as quantidades enviadas 'Soma([Quantidade Enviada])' e desta forma posso ter um saldo
'=([QuantidadeSolicitada])-([CampoDeSoma])' - até ai tudo bem ele calcula certo. Porém quando eu preencho o campo de quantidade enviada no subform gostaria que ele atualizasse o form de tal forma a ja calcular os campos acima de soma e saldo. entao coloquei o seguinte código logo após atualizar a quantidade enviada.
Private Sub Quantidade_Enviada_AfterUpdate()
Me.Requery 'aqui atualiza os campos
If Forms![frm Ordem de Serviços Montagem]![frm Ordem de Serviços MontagemSub1].Form!txtSaldo < 0 Then
MsgBox ("Valor digitado excede o Saldo para envio")
DoCmd.RunCommand acCmdUndo
Else
Me.txtServiços.SetFocus
End If
End Sub
Daí vem o seguinte problema. quando ele termina de rodar o código ele volta ao primeiro registro de quantidade enviada para os terceiros. e o comando "DoCmd.RunCommand acCmdUndo" gera um erro dizendo que não é possível desfazer no momento.
Alguem tem uma ideia ou solução.... Creio que o problema esta em usar o "Requery" para atualizar, mas ja tentei outros como "recalc", "refresh" e não funcionam de acordo. pois ele atualiza o campo só depois de girar o código todo, e o erro da "msgbox" só aparece na depois que eu tento alterar de novo, mesmo que seja para um número que seja menor que o saldo.
Espero que tenham entendido. rsrs
Muito obrigado a todos, desde já.
Estou com um pequeno probleminha, que achei que fosse simples... mas ja estou a dois dias tentando resolver e nada....
Funciona assim:
eu tenho uma tabela relacionada a outra como 1 para muitos. eu criei um form para cada.... o form principal eu tenho uma solicitação de um serviço num determinado material na quantidade de 2000 por exemplo. sendo assim... estes 2000 mil itens serao distribuidos para algumas pessoas, entao o que fiz. criei no form uma campo onde ele soma as quantidades enviadas 'Soma([Quantidade Enviada])' e desta forma posso ter um saldo
'=([QuantidadeSolicitada])-([CampoDeSoma])' - até ai tudo bem ele calcula certo. Porém quando eu preencho o campo de quantidade enviada no subform gostaria que ele atualizasse o form de tal forma a ja calcular os campos acima de soma e saldo. entao coloquei o seguinte código logo após atualizar a quantidade enviada.
Private Sub Quantidade_Enviada_AfterUpdate()
Me.Requery 'aqui atualiza os campos
If Forms![frm Ordem de Serviços Montagem]![frm Ordem de Serviços MontagemSub1].Form!txtSaldo < 0 Then
MsgBox ("Valor digitado excede o Saldo para envio")
DoCmd.RunCommand acCmdUndo
Else
Me.txtServiços.SetFocus
End If
End Sub
Daí vem o seguinte problema. quando ele termina de rodar o código ele volta ao primeiro registro de quantidade enviada para os terceiros. e o comando "DoCmd.RunCommand acCmdUndo" gera um erro dizendo que não é possível desfazer no momento.
Alguem tem uma ideia ou solução.... Creio que o problema esta em usar o "Requery" para atualizar, mas ja tentei outros como "recalc", "refresh" e não funcionam de acordo. pois ele atualiza o campo só depois de girar o código todo, e o erro da "msgbox" só aparece na depois que eu tento alterar de novo, mesmo que seja para um número que seja menor que o saldo.
Espero que tenham entendido. rsrs
Muito obrigado a todos, desde já.