Gracias por responder tan rápido Caral, pero el problema es que si en la hora no le meto las almohadillas, como en la fecha, access no me toma bien la consulta.
En la solución que me pones le quitas las almohadillas que te comento:
Código Delphi
[-]
adoquery1.SQL.Text:='SELECT * FROM log WHERE destinatario=' + quotedstr(adoquery2.FieldByName('Usuario').AsString) +
' AND leido = false AND fechaprog <= #'+datetostr(date)+
'# AND horaprog<= :hora';
adoquery1.Parameters.ParamByName('Hora').Value:=time;
Pero yo debería dejarlo así:
Código Delphi
[-]
adoquery1.SQL.Text:='SELECT * FROM log WHERE destinatario=' + quotedstr(adoquery2.FieldByName('Usuario').AsString) +
' AND leido = false AND fechaprog <= #'+datetostr(date)+
'# AND horaprog<=#:hora#';
adoquery1.Parameters.ParamByName('Hora').Value:=time;
Y de esta forma, como te comentaba un poco más arriba, me dice que el parametro hora not found (supongo yo que es porque toma el parametro como si fuera :hora#)
Gracias de todas formas por tu ayuda, a ver si se te ocurre algo porque estoy bantante perdido.
Un saludo.