Newsgroup: it.comp.appl.access
Titolo: Creare una tabella da un recordset / Form.Filter compatibile con SQL?

Ciao a tutti,
come da subject:
1) dato un recordset (frutto di una query SQL), qual'è la via più
veloce per salvarlo in una nuova tabella? Esiste qualcosa di diretto
del tipo rst.SaveToTable "TableName" o devo creare io strutturalmente
la nuova tabella e poi inserirvi i record del mio recordset?
2) Se applico ad una maschera un Filtro in base a maschera, il
recordset filtrato che ottengo potrei riottenerlo con una query SQL,
impostando la parte WHERE della stessa al contenuto di Maschera.Filter?
In pratica, la sintassi della proprietà Filter della maschera settata
dal Filtro in base a maschera è sempre compatibile col dialetto SQL di
Access?
Come sempre grazie 1000 per le illuminanti risposte che saprete darmi!
;-)
Ciao,
Unimatrix001.

la nuova tabella e poi inserirvi i record del mio recordset?
Dimenticavo: io ho solo l'oggetto recordset, e non conosco la query che
l'ha generato, quindi non posso riutilizzarla per fare una query di
creazione tabella o accodamento, altrimenti sarebbe stato troppo facile
:-)
Già che ci sono: in generale è possibile specificare in qualche modo
come origine dati un oggetto recordset dove normalmente è richiesta una
tabella o il testo di una query SQL? Del tipo "SELECT * FROM
Recordset"... Chiedo troppo, eh? ;-)
Ri-ciao,
Unimatrix001.

Recordset"... Chiedo troppo, eh? ;-)
No
Puoi però filtrare il recordset vedi sopra
Il filtro come da Guida in linea è:
"La proprietà Filter è un'espressione stringa composta da una proposizione
WHERE priva della parola chiave WHERE."
es.
select nome,cognome,via from clienti
se apro un recordset posso scegliere solo i clienti che hanno per cognome
Rossi
rs.filter = "Cognome = 'Rossi'"
Pietro

WHERE priva della parola chiave WHERE."
Sì, questo l'avevo visto anch'io, ma mi chiedevo se questo è sempre
valido o se ci sono casi in cui la proprietà Filter di una maschera
sbattuta direttamente in una query SQL (vedi sopra) darebbe errori...
Ciao,
Unimatrix001.

 tabella me la farebbe direttamente la query...
Se stai lavorando con Access e non Sql server o msde la tabella dovrebbe
essere creata da access direttamente tramite la stringa sql
"SELECT * FROM XXX INTO YYY WHERE " & Me.Filter
con questa istruzione se la tabella YYY non esiste access dovrebbe crearla
Non ho provato ma dovrebbe funzionare.
Pietro

 la nuova tabella e poi inserirvi i record del mio recordset?
Visto che tu hai ottenuto il recordset con un SQL, che immagino hai gestito
via codice, ti basta modificarlo per creare una stringa SQL analoga ma di
tipo SELECT INTO e quindi eseguirla con docmd.runsql
Antonio

tipo SELECT INTO e quindi eseguirla con docmd.runsql
Il problema è che, come precisato, per una serie di circostanze sulle
quali non mi dilungo io non ho a disposizione né conosco il "testo"
della query che ha generato il recordset, ma solo ed esclusivamente
l'oggetto recordset già creato...
Ciao,
Unimatrix001.

Non ho provato ma dovrebbe funzionare.
Per funzionare funziona, il mio problema è, come già detto, sapere se
Me.Filter è SEMPRE compatibile col dialetto SQL di Access oppure in
alcuni casi potrebbe non esserlo e generare errori...
Ciao,
Unimatrix001.

 wrote in message
rclj9uo2ff0c0ld7b...@4ax.com...

A questo punto l'unica è crearti una tabella appendendo dinamicamente i
fields necessari per copiare tutti i campi del recordset a disposizione
(tabledef append fields) e quindi copiarci i valori con un ciclo sul
recordset e una serie di addnew sulla nuova tabella apereta come nuovo
recordset
Antonio

recordset
Quel che temevo... Grazie comunque per la conferma.
Ciao,
Unimatrix001.