Buonasera !
In un piccolo database, ho un paio di tabelle collegate una a molti.
Su questa relazione ci sono due maschere.
In particolare sulla maschera X principale c'è un campo data, e nella sottomaschera Z ci sono dei campi per gestire la contabilità.
In particolare nella sottomaschera Z ci sono:
- Codice Conto
- Descrizione Conto
- Tipo Operazione (che può essere Dare o Avere)
- Importi
Nel pie di pagina della maschera X principale c'è un pulsante di nome Salva e Nuovo.
Dietro questo pulsante c'è il seguente codice VBA (convertito da una macro):
..................................................................................................
Function Salva_e_Nuovo_Record()
On Error GoTo Salva_e_Nuovo_Record_Err
If (Forms!SALDO!SALDO = 0) Then
DoCmd.GoToRecord , "", acNewRec
Else
Beep
MsgBox "ATTENZIONE, NON E' POSSIBILE SALVARE IL RECORD. IL TOTALE DI COLONNA DARE E' DIVERSO DAL TOTALE DI COLONNA AVERE.", vbOKOnly, "ATTENZIONE !!!"
DoCmd.GoToRecord , "", acLast
End If
Salva_e_Nuovo_Record_Exit:
Exit Function
Salva_e_Nuovo_Record_Err:
MsgBox Error$
Resume Salva_e_Nuovo_Record_Exit
End Function
......................................................
Questo codice VBA fa riferimento ad una query SALDO, che deve avere valore 0 per permettere l'aggiornamento del record della sottomaschera Z.
La logica di ciò è che nella sottomaschera Z il totale della colonna DARE dev'essere uguale al totale della colonna AVERE, altrimenti la registrazione non si può chiudere con l'aggiornamento.
Ho provato a fare una prova, cioè a sbagliare un importo nella registrazione, ma esce il seguente errore:
Microsoft Access: impossibile trovare la maschera SALDO:
* a cui viene fatto riferimento. E' possibile che la maschera a cui viene fatto riferimento sia chiusa o che non esista nel database. E' possibile che "Microsoft Access abbia rilevato un errore di compilazione in un modulo Visula Basic per la maschera.
Che si può fare per risolvere il problema ?