la stavo facendo proprio ora
codice:
Sub ScriviFileRpt()
Const RC1 = 1
Const RC2 = 23
Const RC3 = 40
Const RC4 = 55
Const RC5 = 66
Const HC1 = 1
Const HC2 = 30
Const HC3 = 66
Dim iFile As Integer
Dim ls_Temp As String
Time1 = GetTickCount
Screen.MousePointer = vbHourglass
Call LOG("Scrittura Report", "In corso")
iFile = FreeFile
Set db = OpenDatabase(App.Path & "\Park.mdb")
Set rsR = db.OpenRecordset("SELECT * FROM TRISC")
Set rsH = db.OpenRecordset("SELECT * FROM THOST")
Open App.Path & "\Report.txt" For Output As #iFile
'intestazione
Print #iFile, String(70, "-")
Print #iFile, Space$(28) & "Dati da Risc"
Print #iFile, String(70, "-")
Print #iFile, vbCrLf
'TESTATA prima tabella
Print #iFile, String(70, "-")
Print #iFile, Tab(RC1); "CODICE MAGAZZINO"; Tab(RC2); "CODICE PDV"; _
Tab(RC3); "ANNO XAB"; Tab(RC4); "N° XAB"; Tab(RC5); "STATO"
Print #iFile, String(70, "-")
'DETTAGLIO prima tabella
Do Until rsR.EOF
If IsNull(rsR!stato) Then
ls_Temp = ""
Else
ls_Temp = rsR!stato
End If
Print #iFile, Tab(RC1); rsR!CODMAG; Tab(RC2); rsR!codpdv; _
Tab(RC3); rsR!ANNOXAB; Tab(RC4); rsR!numxab; Tab(RC5); ls_Temp
rsR.MoveNext
Loop
rsR.Close
Print #iFile, vbCrLf
Print #iFile, String(70, "-")
Print #iFile, Space$(28) & "Dati da Host"
Print #iFile, String(70, "-")
Print #iFile, vbCrLf
'TESTATA seconda tabella
Print #iFile, String(70, "-")
Print #iFile, Tab(HC1); "CODICE PDV"; _
Tab(HC2); "N° XAB"; Tab(HC3); "STATO"
Print #iFile, String(70, "-")
'Dettaglio seconda tabella
Do Until rsH.EOF
Print #iFile, Tab(HC1); rsH!codpdv; Tab(HC2); rsH!numxab; _
Tab(HC3); rsH!stato
rsH.MoveNext
Loop
rsH.Close
Close #iFile
db.Close
Set db = Nothing
Set rsH = Nothing
Set rsR = Nothing
Call LOG("Scrittura Report", "Terminata")
Screen.MousePointer = vbDefault
Time2 = GetTickCount
DTime = (Time2 - Time1) / 1000
Call LOG("Tempo impiegato:", CStr(DTime))
End Sub