Ciao a tutti. Ho un problema con una SQL.

codice:
sql = "SELECT TOP 3 ID_tab_principale,Data,Periodo,Prezzo,Tipo,Titolo FROM MiaQuery WHERE data >= " & DataOggi & " ORDER by Data ASC"
MiaQuery è una query ottenuta direttamete su Access per unire i dati che mi servono da due tabelle relazionate. Come si può capire i record con "ID_tab_principale" possono essere più di uno ed "ID_tab_principale" è il campo id relativo al record alla tabella madre.
Il mio problema sta nel fatto che vorrei fare un distinct sul campo "ID_tab_principale" in modo che mi restituisca, ad id uguale, solo la prima data utile risultante dalla query, e poi passi alle altre per un totale di 3.
Spero di essere stato chiaro, perchè non è facile spiegare...

Grazie a chi mi dà una mano.

PS. "DataOggi" nella query non è sbagliato senza cancelletti, perchè in realtà le date le gestisco come campo numerico tipo aaaammgg.