Trasferire dati da una tabella ad un'altra in un altro database (acces...

mercoledì 06 giugno 2007 - 09.49

warsero Profilo | Newbie

Ciao a tutti, avrei bisogno di una mano e spero di essere nel posto giusto.

Quello che devo fare è esportare dei dati da un database ad un altro, uso un db gia fatto da dei colleghi in cui inserire le ore impiegate per un certo lavoro e delle brevi descrizioni di quello che si fa, ora mi interesserebbe esportare le ore in un altro db per avere i totali delle ore mie e dei miei colleghi.
In questo db era gia prevista questa operazione e infatti ho trovato questo segmento tra i vari form in vb:

Private Sub btnExport_Click()
Dim rsLavoriOre As DAO.Recordset
Dim rsPassaggioDati As DAO.Recordset
Dim rs As DAO.Recordset
Dim qry As DAO.QueryDef
Dim aIDDipendente As Long

Set qry = CurrentDb.CreateQueryDef("", "SELECT * FROM T_ElavoriOre WHERE Importato = false ORDER BY IDLavoro")
Set rsLavoriOre = qry.OpenRecordset

Set rsPassaggioDati = CurrentDb.OpenRecordset("T_PassaggioDatti")
While Not rsLavoriOre.EOF
With rsPassaggioDati
.AddNew
!Giorno = rsLavoriOre!Giorno
!Da = rsLavoriOre!Da
!A = rsLavoriOre!A
aIDDipendente = DLookup("Codice_Dipendente", "T_ELavori", "IDLavoro = " & rsLavoriOre!IDLavoro)
.Update
End With
rsLavoriOre.MoveNext
Wend

Una volta lanciato questo ho i dati che mi servono nella tabella T_PassaggioDatti, ora dovrei metterli nella tabella TotaleOre del database Lavori ad esempio, come posso fare?

Leggendo l'help e cercando un po sui vari forum ho trovato che si potrebbe forse fare con
DBEnigine.Workspaces(0).OpenaDatabase("Lavori.mdb")
Mi sapete dire come e magari mettermi due righe di codice o un link dove trovarle?

lbenaglia Profilo | Guru

>Leggendo l'help e cercando un po sui vari forum ho trovato che
>si potrebbe forse fare con
>DBEnigine.Workspaces(0).OpenaDatabase("Lavori.mdb")
>Mi sapete dire come e magari mettermi due righe di codice o un
>link dove trovarle?

Ciao warsero,

la soluzioni che proponi consisterebbe nell'aprire due connessioni, una al db di origine e l'altra a quello di destinazione, generare un Recordset dal db di origine, ciclarlo valorizzando il db di destinazione.

Per carità, si può anche fare ma occorre buttare giù un po' di codice VBA.
Io invece vorrei proporti una soluzione più pulita e veloce che comporta la scrittura di una banalissima SELECT (meglio se incapsulata in una Query):
http://www.dotnethell.it/forum/messages.aspx?ThreadID=3853

Per effettuare l'allineamento non devi fare altro che eseguire la Query

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

warsero Profilo | Newbie

ok direi che si può provare :)

Grazie mille, tornerò in caso di bisogno visto che sono un po nabbo ^^
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5