Srs, boa tarde.
Para resumir, possuo um relatório que é ativado por um formulário. O relatório corresponde ao pagamento de faturas. Esse formulário possui um filtro e o relatório é exibido apenas com os valores filtrados. Até aí tudo bem.
No entanto, às vezes não possuo saldo em conta corrente suficiente para pagar essas faturas e preciso efetuar um depósito. Minha idéia é que apareça uma msgbox me informando que eu preciso efetuar o depósito e, após a msgbox, o relatório seja fechado automaticamente, me impedindo de visualizá-lo ou imprimí-lo (isso seria uma proteção para não encaminhar processos sem saldo em conta corrente).
Eu coloquei o código "ao formatar" em um dos cabeçalhos do relatório. Quando há mais de uma conta-corrente o cabeçalho se repete no relatório. Fiz isso pois são diversas contas correntes e algumas podem ter saldos e outras não:
If Me.SaldoCC < 0 Then
MsgBox "Não há saldo para pagamento da(s) respectiva(s) fatura(s). Efetue um depósito."
DoCmd.Close acReport, "Despacho_FaturaPassag"
End If
O comando DoCmd.Close não funciona, ele informa:
"Erro de tempo de execução '2585': Esta ação não pode ser executada durante o processamento de um evento de formulário e relatório."
Desculpem-me a ignorância.
Para resumir, possuo um relatório que é ativado por um formulário. O relatório corresponde ao pagamento de faturas. Esse formulário possui um filtro e o relatório é exibido apenas com os valores filtrados. Até aí tudo bem.
No entanto, às vezes não possuo saldo em conta corrente suficiente para pagar essas faturas e preciso efetuar um depósito. Minha idéia é que apareça uma msgbox me informando que eu preciso efetuar o depósito e, após a msgbox, o relatório seja fechado automaticamente, me impedindo de visualizá-lo ou imprimí-lo (isso seria uma proteção para não encaminhar processos sem saldo em conta corrente).
Eu coloquei o código "ao formatar" em um dos cabeçalhos do relatório. Quando há mais de uma conta-corrente o cabeçalho se repete no relatório. Fiz isso pois são diversas contas correntes e algumas podem ter saldos e outras não:
If Me.SaldoCC < 0 Then
MsgBox "Não há saldo para pagamento da(s) respectiva(s) fatura(s). Efetue um depósito."
DoCmd.Close acReport, "Despacho_FaturaPassag"
End If
O comando DoCmd.Close não funciona, ele informa:
"Erro de tempo de execução '2585': Esta ação não pode ser executada durante o processamento de um evento de formulário e relatório."
Desculpem-me a ignorância.
Última edição por Blueace em 27/11/2013, 19:38, editado 1 vez(es)