Ho un database aggiornamenti.mdb che contiene due tabelle
Tabella PRODOTTI con campi prodotto e consumato
Tabella STATISTICA con campi prodotto e totalestatistica
Sarebbe mia intenzione creare una funzione che:
parta dal primo record della tabella prodotti, legga il dato del campo prodotto (es 34723), lo confronti con TUTTI i campi prodotto della tabella statistica e se il dato risulta uguale, scriva nel campo consumato sempre del primo record della tabella prodotti il valore contenuto nel campo totalestatistica. Successivamente passi al secondo record ripeta il controllo su tutti i record e se presente scriva, ecc.
Non essendo un esperto, in modo molto approssimativo avrei pensato a questa soluzione. E' corretto aprire in questo modo la connessione al database e i Recordset?
<%
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("aggiornamenti.mdb")
strConn=strConn & ";pwd=" & strCode
Conn.Open strConn
sql = "SELECT * FROM PRODOTTI "
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3
Dim Nrecord ‘ CONTO IL NUMERO DI RECORD TOTALI
Nrecord=rs.RecordCount
Set Conn2=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("aggiornamenti.mdb")
strConn=strConn & ";pwd=" & strCode
Conn2.Open strConn
For contatore = 1 To Nrecord
prodotto=rs(1)
sql2="SELECT * FROM statistica"
sql2=sql2 & " WHERE prodotto='" & prodotto & "' ORDER BY id DESC"
Set rs2 = Server.CreateObject("ADODB.Recordset")
rs2.Open sql2, Conn2 ,3,3
if not(rs2.eof) then
do while not(rs2.eof)
dim totstatistica
totstatistica =rs2(2)
rs(2)= totstatistica
rs.update
rs2.movenext
loop
rs.movenext
next
Chiusura connessione
%>
Grazie mille
Gigi
Tabella PRODOTTI con campi prodotto e consumato
Tabella STATISTICA con campi prodotto e totalestatistica
Sarebbe mia intenzione creare una funzione che:
parta dal primo record della tabella prodotti, legga il dato del campo prodotto (es 34723), lo confronti con TUTTI i campi prodotto della tabella statistica e se il dato risulta uguale, scriva nel campo consumato sempre del primo record della tabella prodotti il valore contenuto nel campo totalestatistica. Successivamente passi al secondo record ripeta il controllo su tutti i record e se presente scriva, ecc.
Non essendo un esperto, in modo molto approssimativo avrei pensato a questa soluzione. E' corretto aprire in questo modo la connessione al database e i Recordset?
<%
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("aggiornamenti.mdb")
strConn=strConn & ";pwd=" & strCode
Conn.Open strConn
sql = "SELECT * FROM PRODOTTI "
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3
Dim Nrecord ‘ CONTO IL NUMERO DI RECORD TOTALI
Nrecord=rs.RecordCount
Set Conn2=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("aggiornamenti.mdb")
strConn=strConn & ";pwd=" & strCode
Conn2.Open strConn
For contatore = 1 To Nrecord
prodotto=rs(1)
sql2="SELECT * FROM statistica"
sql2=sql2 & " WHERE prodotto='" & prodotto & "' ORDER BY id DESC"
Set rs2 = Server.CreateObject("ADODB.Recordset")
rs2.Open sql2, Conn2 ,3,3
if not(rs2.eof) then
do while not(rs2.eof)
dim totstatistica
totstatistica =rs2(2)
rs(2)= totstatistica
rs.update
rs2.movenext
loop
rs.movenext
next
Chiusura connessione
%>
Grazie mille
Gigi