Jojojo.. detecté un error en mi código ("creo" que nada que a vos te afecte, carlunchos)
SQL = "SELECT * FROM Viat WHERE (
((Viat.ID_Persona)=" & ID_Persona & ") AND ((Viat.PartidaFecha)<#" & PartidaFecha & "#) AND ((Viat.RegresoFecha)>#" & PartidaFecha & "#)) OR (
((Viat.ID_Persona)=3) AND ((Viat.PartidaFecha)<#" & RegresoFecha & "#) AND ((Viat.RegresoFecha)>#" & RegresoFecha & "#))"
Debería ser..
SQL = "SELECT * FROM Viat WHERE (
((Viat.ID_Persona)=" & ID_Persona & ") AND ((Viat.PartidaFecha)<#" & PartidaFecha & "#) AND ((Viat.RegresoFecha)>#" & PartidaFecha & "#)) OR (
((Viat.ID_Persona)=" & ID_Persona & ") AND ((Viat.PartidaFecha)<#" & RegresoFecha & "#) AND ((Viat.RegresoFecha)>#" & RegresoFecha & "#))"
Menos mal que todavía no lo comenzaron a usar