codice:
dim rst As DAO.Recordset
dim sql as string

'apre recorset
sql = "SELECT SalaRiunione.IDSala, SalaRiunione.IDPersonale, SalaRiunione.IDCommessa, SalaRiunione.Data, SalaRiunione.Inizio, SalaRiunione.Fine, SalaRiunione.[Note/Descrizione] FROM SalaRiunione WHERE (((SalaRiunione.Data)=#" & format([Forms]![SalaRiunione]![txtData],"dd/mm/yyyy") & "#) AND ((SalaRiunione.Fine)>" & [Forms]![SalaRiunione]![txtInizio] & ")) OR (((SalaRiunione.Data)=#" & format([Forms]![SalaRiunione]![txtData]"dd/mm/yyyy") & "#) AND ((SalaRiunione.Inizio)<" & [Forms]![SalaRiunione]![txtFine] & "))"
Set rst = CurrentDb.OpenRecordset(sql)
     
    
    If Not rst.BOF Then 'verivica se il recordset non è vuoto
    msgbox "errore"
    end if
              
        'chiudi e azzera il recordset
        rst.Close: Set rst = Nothing
prova così, la parte in rosso potrebbe dare problemi, access legge sempre la data come fosse anglosassone, io la riporto al formato italiano ma poi dipende da come tu hai impostato quel campo.