Salve a tutti. Mi ricollego ad un post precedente,
https://www.iprogrammatori.it/forum-programmazione/access/criticita-pulsante-apertura-maschera-t42438.html nel quale è stato affrontato e parzialmente risolto il problema del funzionamento di un pulsante di apertura di una maschera collegata (form2), collocato nella maschera principale (form1). Mi scuso se ritorno parzialmente sull’argomento (spero non violi le regole), ma non mi riesce di implementare correttamente la routine evento iniziata.
La relazione tra la maschera principale e la secondaria è semplice: 1 a molti su campo ID_BIBL, come nelle rispettive tabelle dati. Il problema ora è quello di inibire l’apertura della maschera secondaria (form2) in caso di errore, ossia quando il campo ID_BIBL della maschera principale (form1) è Null. L'esigenza si manifesta infatti nella sola modalità di inserimento nuovo record (in modalità modifica record funziona tutto al meglio). Per comodità vorrei evitare la predisposizione di due maschere separate, una per l'inserimento dei nuovi dati e l'altra per la modifica di quelli già esistenti, ma usare sempre la stessa per tutte le modalità.
Pertanto, per evitare la creazione di record non associati nella maschera secondaria collegata, vorrei impedire che questa si apra (quando la principale è vuota, o anche soltanto non sia valorizzato il campo ID_BIBL della chiave primaria) e ricordare quindi al compilatore che prima di passare a form2 (cliccando sul relativo pulsante) deve avere sempre creato il nuovo record compilando i campi di form1.
La prima parte della routine, quella che restituisce il messaggio di errore, potrebbe essere questa:
If ID_BIBL.Value & "" = "" Then
MsgBox "Devi inserire prima i Dati di Esemplare"
End If
Chiederei adesso un piccolo aiuto nella sintassi del comando che è preferibile utilizzare per bloccare l’apertura della maschera (laddove non soddisfi le condizioni previste sopracitate) e sul dove collocare il blocco di testo. Ho provato a chiudere form2 con DoCmd.Close, ma sbaglio ancora qualcosa.
Grazie ancora a chi vorrà intervenire.