Avevo creato per mio uso personale una paginetta ASP che faceva proprio quello che chiedi tu........devi solo modificare i nomi delle tabelle e la stringa di connessione al database........ovviamente le due tabelle devono avere la stessa struttura.
Ecco il codice:
codice:
<%
'Stringa per la connessione
cString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("il_tuo_database.mdb")
'creo e apro la connessione
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open cstring
'creo e apro il primo recordset, con i dati da utilizzare per l'aggiornamento
set rs1 = server.createobject("ADODB.recordset")
sql1 = "select * from tab1"
rs1.open sql1, objconn
set rs2 = server.createobject("ADODB.recordset") 'creo il secondo recordset, sulla tabella da aggiornare
do until rs1.eof 'per ogni record esistente nella prima tabella.....
sql2 = "select * from tab2 where id = '"&rs1("id")&"'" '...cerco il record corrispondente nella seconda tabella
rs2.open sql2, objconn 'apro il secondo recordset
if rs2.eof then 'se il record non esiste nella seconda tabella.......
'.....lo creo
sql3 = "insert into tab2 (id) values ('"&rs1.fields.item("id").value&"')"
objconn.execute sql3
end if
for each campo in rs1.fields '.... e poi per ognuno dei campi presenti nella prima tabella.....
'..... aggiorno il campo corrispondente del record corrispondente nella seconda tabella
sql4 = "update tab2 set "&campo.name&"='"&campo.value&"' where id='"&rs1.fields.item("id").value&"'"
objconn.execute sql4
next
rs2.close 'chiudo il secondo recordset....
rs1.movenext '.... e passo al record successivo nella prima tabella
loop
set rs2 = nothing 'distruggo il secondo recordset
rs1.close 'chiudo e distruggo il primo recordset
set rs1 = nothing
'chiudo e distruggo la connessione
objConn.close
set objconn=nothing
'notifico che la procedura è andata a buon fine
response.write("
")
response.write("<div align='center'>Aggiornamento effettuato!</div>")
%>