ho cercato di fare quello che mi hai detto, scrivendo il seguente codice:
codice:
<%

url_DB = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/censimenti3.mdb")

Set Conn = Server.CreateObject("ADODB.Connection") 
conn.Open url_DB

Set RS = Server.CreateObject("ADODB.Recordset") 

sql = "SELECT * FROM ""query unione fra anagraf e unita'"""
RS.Open sql, conn, adOpenKeyset 
' lettura del contenuto dal template
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath("template.rtf"), 1)
Documento = f.ReadAll
f.Close
Set f = Nothing
Set fso = Nothing

' carattere di a capo in RTF
acapo = " \par " & VbCrLf

do until rs.eof
 testo =  rs("cognome") & " " & rs("nome") & " " & rs("data di nascita")& acapo
  rs.MoveNext
loop



' chiusura
rs.Close
set rs = Nothing
conn.Close
set conn = Nothing

' sostituzione file
Documento = Replace(Documento, "[testo]", testo)

' ContentType e risposta a video
Response.ContentType="application/msword"
Response.Write(documento)

%>
ho messo nella stessa cartella il file "template.rtf con dentro scritto solo queste parole
[testo]

lanciando la pagina però, a video, mi compaiono un sacco di simboli (tipo codice asci)
ne riporto due riche:

\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507 \deff0\stshfdbch31506\stshfloch31506\stshfhich3150 6\stshfbi31507\deflang1040\deflangfe1040\themelang 1040\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;} {\f37\fbidi


dove sbaglio?