Ciao a tutti,
in una maschera su un progetto in access alla sua chiusura devo verificare che una combobox abbia un valore maggiore di 0 se in una tabella del db e' presente una riga. Fatta questa verifica devo chiudere la maschera se la riga non e' presente, altrimenti dico all'utente di scegliere un valore dalla combobox. Inoltre ho un pulsante di chiusura che mi serve per chiudere la maschera e nel quale dovrei fare la stessa cosa.
Il codice che uso e' questo
pulsante chiudi:
prima usavo il docmd perché non avevo la verifica
codice:
Private Sub bChiudiAnomalie_Click()
    'DoCmd.Close
    Call Form_Unload(False)
    
End Sub
evento unload della maschera:
codice:
Private Sub Form_Unload(Cancel As Integer)
    'verifico che sia impostata l'agenzia se e' presente almeno un anomalia nell'elenco
    Dim SQL As String
    Dim RS As DAO.Recordset
    Dim db As DAO.Database
    
    Set db = CurrentDb
    SQL = "SELECT anomalie.idAnomalia FROM anomalie WHERE anomalie.idpratica=" & Me.idPr
    Set RS = db.OpenRecordset(SQL)
    If RS.RecordCount > 0 Then
'codagen e' la combobox che deve essere valorizzata
        If Me.codAgen.Value = 0 Then
            MsgBox "Attenzione l'inserimento del PO e' obbligatorio, selezionarne uno dall'elenco"
            Cancel = True
        Else
            'Cancel = False
            'Unload Me
            'DoEvents
            
            'DoCmd.Close acForm, Me.Name
                        
            'Unload Form_anomalie

             'qui ERRORE
        End If
    End If
    RS.Close
    Set RS = Nothing
End Sub
non sono riuscito a fare quello che mi serve perché mi da errore sulla chiusura quando la combo e' vuota e non ci sono righe nella tabella. L'errore che mi da e':
errore di Runtime 2501
l'azione close e' stata annullata

si puo fare quel che chiedo? grazie