Newsgroup: it.comp.lang.visual-basic
Titolo: salvare un mdb dopo una select

salve,
dopo aver fitrato un archvio , voglio salvare solo i record
risultanti, come faccio?
   Dim DB As Database
   Dim Td As TableDef
   Dim fld As Field
   Dim dbsrc As ADODB.Connection
   Dim rsSrc As ADODB.Recordset
   Dim qrysrc As String
   Set DB = OpenDatabase(path & "\" & nomemdb)
   Set Td = DB.TableDefs(nometabella)
   DB.Close
       Set dbsrc = New ADODB.Connection
    dbsrc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & path & "\" & nomemdb & ";Persist Security Info=False"
    dbsrc.Open
    Set rsSrc = New ADODB.Recordset
    rsSrc.ActiveConnection = dbsrc.ConnectionString
    rsSrc.CursorType = adOpenStatic
    rsSrc.LockType = adLockOptimistic
   'qrysrc = "SELECT * FROM " & nometabella ' & " where ID < 3266"
    rsSrc.Open qrysrc
    rsSrc.UpdateBatch
    rsSrc.Close
    dbsrc.Close
grazie

 risultanti, come faccio?
Salvare dove? In una nuova tabella, in un altro mdb, in un file txt, in 
un file xml?
Se vuoi salvare in una tabella usa la il comando SELECT INTO 
http://office.microsoft.com/en-us/access/HP010322661033.aspx
Nicola

 
alfonsotor...@libero.it
 ha scritto:

voglio salvare lo stesso mdb con i soli record che soddifano la
condizione della select
grazie per la risposta

 ha scritto nel messaggio 
news:8d2aa2bb-b85c-4027...@79g2000hsk.googlegroups.com...
STUDIATI
CREATE TABLE
e
INSERT INTO
volendo...pure
DROP TABLE
p.s.
è SQL
p.p.s.
non c'è pisogno di fare tante cose....basta una istruzione Insert Into!....
puoi anche soltanto aprire la connessione e lanciare il metodo execute con 
la query!....
che stai a scomodare i recordset???
-- 
-----------------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia città
http://wodka40hall.myminicity.com/
****
In evidenza questa settimana
http://www.martek.it/dblog/articolo.asp?articolo=112

 In evidenza questa settimanahttp://
www.martek.it/dblog/articolo.asp?articolo=112
 soltanto aprire la connessione e lanciare il metodo execute con la
query!....
un esempio piccolo piccolo potresti farmelo?

 ha scritto nel messaggio 
news:2b987171-10e6-4a0c...@k13g2000hse.googlegroups.com...
uso il tuo codice
  Set dbsrc = New ADODB.Connection
    dbsrc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & path & "\" & nomemdb & ";Persist Security Info=False"
    dbsrc.Open
dbsrc.execute tuaquery
oppure
Set TuoRecordset dbsrc.execute ( tuaquery)
LA LIMITAZIONE?
non ritorna recordset....quindi OTTIMA....per eseguire query di comando e 
NON di selezione!
Ma per le query di selezione ci sono i recordset....per tutto il 
resto...l'execute!
o meglio...non è vero nemmeno questo!
con Execute ritorna un recordset...ma solo forward only....
quindi riformuliamo!
Popolare una griglia?...una listbox?...eseguire una query che mi altera il 
database?....stampare un report (e quindi SOLTANTO recuperare i dati) ? 
Cancellare una serie di dati? Inserire una serie di dati? Modificare una 
serie di dati?...usando SQL?
Perfetta EXECUTE
Modificare i dati usando SOLO il recordset?
Recordset
INFORMAZIONI?
http://www.soft-land.org/documenti/adomod_conn

 condizione della select
Puoi cancellare dalla stessa tabella i record che non soddisfano la
condizione:
"DELETE FROM Tabella WHERE NOT Condizione"
Spero sia utile. Ciao.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggionews:2b987171-10e6-4a0c...@k13g2000hse.googlegroups.com...

grazie per la risposta, molto chiara e  esauriente,
continuo a non capire perchè alla successiva riapertura del mdb mi
ritrovo i record che non soddisfano la where,
in pratica all'uscita non riesco a salvare questo 'archivio.

in pratica all'uscita non riesco a salvare questo 'archivio.
Eh eh eh....vecchio problema...ti direi di leggere i post di qualche anno 
fa...quando di adonet non se ne sentiva il bisogno!
Il problema è che ci vuole tempo per scrivere le modifiche nell'hard 
disk...e se riapri subito il database trovi dati errati!
Una soluzione è staccare la connessione
set conn=nothing
......
e poi la riapri....
MA QUEL codice che usi è....sintetizzabile in una massimo 2 QUERY 
SQL...senza bisogno di attaccare e staccare nulla...e senza scomodare i 
recordset!
-- 
-----------------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia città
