Newsgroup: it.comp.appl.access
Titolo: Come usare unrecordset in memoria come sorgente per una query?

Domanda: Ho un recordset in memoria il cui contenuto č stato generato
tramite codice; ora mi chiedo:
1) voglio mettere inserire il contenuto di questo recordset in una
tabella, come faccio? (ok, posso aprire la tabella ed aggiungere le
righe una alla volta... ma non potrei semplicemente usare il recordset
che ho creato come "tabella sorgente" per una query di accodamento?)
2) voglio stampare in un report il contenuto di questo recordset, come
faccio? posso definire una funnzione che venga richiamata ad ogni riga
del report e fornica i dati da stampare prelevandoli dal mio
recordset?
Grazie a tutti, Max

Grazie a tutti, Max
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora 
provetti poeti fiorentini come vturturro.
(Cosě disse 
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)


Io faccio in questo modo:
definisco una classe per il recordset:
nuovo modulo di classe: (esempio clsRetribuzione)
'Inizio Classe clsRetribuzione
Option Compare Database
Option Explicit
Dim mvDbs As Database
Public Function OpenRecordSet(Optional rsWhere As String = vbNullString) As
RecordSet
Dim lsSql As String
On Local Error Resume Next
  lsSql = "SELECT * from RETRIBUZ"
  If rsWhere <> vbNullString Then
    lsSql = lsSql & " where " & rsWhere
  End If
  Set OpenRecordSet = mvDbs.OpenRecordSet(lsSql)
  If Err.Number <> 0 Then
    On Error GoTo 0
    If Errors.Count > 0 Then
      Err.Raise 12321, "clsRetribuzione.OpenRecordSet", "Errore DAO: " &
Errors(0).Number & vbNewLine & "Descrizione: " & Errors(0).Description &
vbNewLine & "SQL: " & lsSql
    Else
      Err.Raise 12321, "clsRetribuzione.OpenRecordSet", "Errore DAO: " &
Err.Number & vbNewLine & "Descrizione: " & Err.Description & vbNewLine &
"SQL: " & lsSql
    End If
  End If
End Function
Private Sub Class_Initialize()
  Set mvDbs = CurrentDb
End Sub
Private Sub Class_Terminate()
  mvDbs.Close
  Set mvDbs = Nothing
End Sub
'Fine Classe clsRetribuzione
Poi nel modulo di classe associato al report definisco una variabile di
modulo di tipo clsRetribuzione
Dim moRetribuzione As New clsRetribuzione
(a livello modulo)
e nella routine evento Report_Open...
Private Sub Report_Open(Cancel As Integer)
  Me.RecordSource = 
moRetribuzione.OpenRecordSet.Name
End Sub
L'ideale sarebbe se i report di Access avessero la proprietà RecordSet (in
lettura/scrittura)
nel qual caso basterebbe assegnare a tale proprietà il recordset...
Private Sub Report_Open(Cancel As Integer)
  set Me.RecordSet = moRETRIBUZ.OpenRecordSet
End Sub
speravo che in A2000 questo venisse implementato, purtroppo non ancora
l'hanno fatto...
aspettiamo la prossima versione (ci sarà?)
Questa soluzione avrebbe il grande vantaggio di non reinterrogare il
database (a me piace molto anche perchè ha un forte orientamento verso la
OOP).
HTH
Michele Amato
--
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
Sulla mia pagina personale
http://utenti.worldonline.it/micheleamato
è possibile trovare una add-in per Access97:
          Access Navigator 3.0
oltre 5000 download fatti da
http://www.officevba.com/vbapowertools/
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}

> >(.....)
CUT

Molto interessante anche se vorrei sapere dove sono documentate queste cose.
Initialize nel 'mio' help dice che si riferisce solo a oggetti USERFORMS e
poi che cosa contiene 
moRetribuzione.OpenRecordSet.Name
 ?
E quale e' il  vantaggio rispetto a
me.recordsource = "Select * from RETRIBUZ"?
Comunque ciao e BUON NATALE!
Ciao Nicola
email: metti inwind al posto  di NOSPAM
PS Non ho ancora scaricato il tuo ACCESS NAVIGATOR....  :-)


Moooolto male, ciao e a presto...
ah dimenticavo chiedi ad Alessia cosa pensa del mio Access Navigator ...
Saluti
Michele Amato
P.S.
Mo te lo rimetto il link...sperando che ti venga la buona idea di darci
un'occhiata, mi raccomando leggiti anche il "mini-mini" tutorial, essenziale
per capire di cosa stiamo parlando...


 č possibile trovare una add-in per Access97:
