Newsgroup: it.comp.lang.visual-basic
Titolo: [?] EXPORT datagrid a mdb

ciao... perenne ricerca di aiuto...
ho un problema che non so come risolvere e magari qualche d'uno può aiutarmi
o consigliarmi.
Ho una datagrid che funziona perfettamente mostrandomi quanto da me scelto
in alcune variabili che inserisco come creazione automatica di "richiesta"
da dati provenienti da file access2000 / .mdb
In pratica il risultato ottenuto nel mio datagrid, vorrei che potesse essere
esportato in un file con la stessa struttura del mdb sorgente ma solo con i
dati contenuti nel datagrid che ho scelto di visionare.
I campi per ogni record sono 50 e, malgrado possa aver scelto di "NON"
vedere qualche colonna/campo, vorrei poter salvare il "selezionato" con la
stessa struttura delle 50 colonne, esportare in pratica il "selezionato"
dalla query.
Premetto che sono stato aiutatissimo nella gestione della ricerca...
GRAZIE!!!! e per me quasi arabo!...
Il sorgente per la visione partendo da una query creata a priori in
variabile "criterio" del datagrid è la seguente:
---cut---
    Dim CC As Long
    On Error Resume Next
    Set db = New ADODB.Connection
    db.CursorLocation = adUseClient
    db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Log_DB_Name &
";"
    DataGrid1.ClearFields
    Set adoPrimaryRS = New ADODB.Recordset
    adoPrimaryRS.Open Criterio, db, adOpenDynamic, adLockOptimistic
    Set DataGrid1.DataSource = adoPrimaryRS
    'Qui imposto quali colonne devono avere il bottone o devono essere
bloccate
    DataGrid1.Columns(5).Button = True
    DataGrid1.Columns(6).Button = True
    DataGrid1.Columns(47).Button = True
    DataGrid1.Columns(5).Locked = True
    DataGrid1.Columns(6).Locked = True
    DataGrid1.Columns(47).Locked = True
    DataGrid1.Columns(13).Locked = True
    DataGrid1.Columns(14).Locked = True
    DataGrid1.Columns(15).Locked = True
    DataGrid1.Columns(16).Locked = True
    'Qui toglie le colonne che non vogliono essere visualizzate in un'altra
routine a checkbox 1-50
    mQueryOk = True
    Aggiorna_Colonne
    DataGrid1.Visible = True
    DataGrid1.Refresh
    'Mostra il numero di record trovati
    frmEdit.StatusBar1.Panels(1).Text = "Number of records found : " &
adoPrimaryRS.RecordCount
---cut---
ecco che quello che ho scelto lo visualizzo e ora vorrei poter ricreare un
export dei dati selezionati con identica struttura del mdb precedente.
Non so se sono riuscito a farmi capire... :-(((
Ciao Anto. Grazie mille per quache aiuto.
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----

 dalla query.
Dunque da quel che ho potuto provare se seleziono da DATABASE1 dei dati in
un datagrid, per esporatrne il contenuto dovrei ricreare un nuovo database,
DATABASE2, con la stessa struttura, come creo il primo quindi copiare uno a
uno i record campo per campo, leggendo i dati della selezione del DATABASE1
nel datagrid?
Uhmmm, non ci sarebbe un comando diretto che mi salvi al volo la tabella
completa o qualche altro accrocchio piů veloce?
GRAZZZZIE!
ciao



INSERT INTO nuovatabella IN (percorsonuovatabella) SELECT .... FROM etc etc
non potrebbe andare bene? Nella parte relativa ai dati da copiare potresti
utilizzare
la medesima query con la quale popoli la griglia...
Ciao
 Valter

 la medesima query con la quale popoli la griglia...
Ciao Valter,
grazie mille del reply.
Non saprei dato che non so esattamente come tabulare il tutto...in pratica
dovrei ricreare un file DATABASE2.MDB con la tabella LOG con dentro quanto
desiderato (50 campi record)
Per ora sono riuscito solo a ricreare un DATABASE2.MDB con la tabella
interna "LOG" totalmente vuoto ed esattamente strutturato con i 50 campi,
identico al DATABASE1.MDB ma senza dati.
Dovrei quindi ora passare tutti i dati della risultante datagrid, nel
DATABASE2.MDB - tabella LOG... e qui non so come fare... sintassi
tantomeno...sig! :-)))
della serie:
INSERT INTO "log" IN (data/database2.mdb) SELECT .... FROM etc etc
(non saprei cosa e dove scriverlo... nel senso che sto leggendo l'help ma
non ci capisco molto in quanto usano anche il comando VALUE...
scusa il disturbo... e grazie mille!
Anto


 Anto
Ciao Anto,
puoi usare la query come parametro del metodo execute
sull'oggetto database ( se stai usando DAO ),
sull'oggetto connection o command se stai usando ADO.
Ti faccio un esempio per DAO ( sintassi da verificare, data l'ora...)
StrSQL = "INSERT INTO Log IN 'C:\MyFolder\Database2.mdb' SELECT * FROM Log;"
Database1.Execute StrSQL
Per ADO è pressochè la stessa cosa, in quanto Database1 sarà il tuo oggetto
connection...
Naturalmente questo è l'esempio più banale, che presuppone tu debba copiare
tutti i dati da
una tabella all'altra... se personalizzi la parte che determina quali
records
vanno copiati, ( SELECT etc etc ) utilizzando la medesima query che ti
popola la griglia, hai risolto.
Sempre che non utilizzi Join o altre cose, ma da quello che leggo con credo
sia così...
In caso contrario sii più preciso e domani ne riparliamo..
..notte...
 Valter

 In caso contrario sii piů preciso e domani ne riparliamo..
tnx!


>> eseguo query
una singola linea mi ha risolto la pendenza e funziona in modo
velocissimo...
Ora dovrei risolvere un MERGE di due database da abbinare a questo export...
che non faccia possibili doppioni se hai qualche consiglio... provo a
cambiare TRd.
Per il momento GRAZIE e MILLE :-)) !!!!!!!!!!!!!!
