Que piensas poner donde tienes el "etapa.codigo_proyecto= ?"
Una variable, un textbox o un valor fijo?
De ser un valor fijo puedes poner el query guardado dentro de la base de datos usando access y llamarlo como una tabla.
Tambien, si no es un valor fijo puedes =mente hacer el query donde selecciones todo y dejarlo guardado en la db con un nombre y luego hacerle una consulta desde el .Net como a cualquier tabla de esta manera:
"select * from queryname where codigo_proyecto=" & val(textbox1.text)"
Es mas o menos asi.
Es una consulta mucho mas corta.
Espero haber ayudado.
Recuerdos,
Ab.