da 47 sec sono passato a 35 abb bene.
ma nn cè molto differenza tra un array quindi avere tutto in memoria ram e fare un recordset quindi lavorare anche con l'hd... pensavo meglio...forse si puo' ottimizzare il mio codice mah.
cmq lo posto
il primo stessa pagina con array:
la seconda con recodset:
1)[CODE]
Conn="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath(percorso_mdb) 'Conn_Recordset1.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath(var_percorso)
Set connection = Server.CreateObject("ADODB.Connection") 'Set Conn_Recordset1 = Server.CreateObject ("ADODB.Connection")
connection.Open(Conn)
For i=2 to max_categorie ' ciclo inserimento
' creo unrecordset per stabilire se a categoria corrisponda ad almeno 1 articolo in tab_articol
check=0
For a=2 to max_articoli
IF articoli(a,2)=categorie(i,1) then
check=1
exit for
End IF
Next
If check=1 Then
SQL2 = " INSERT INTO "&tabella_mdb&" (categoria,ID) VALUES ('"& categorie(i,0) &"','"& categorie(i,1) &"') "
connection.execute(SQL2)
End IF
Next ' ciclo inserimento
connection.Close
Set connection = Nothing
CODE]
2)
codice:
' creo unrecordset per stabilire se a categoria corrisponda ad almeno 1 articolo in tab_articoli
Set Conn_Recordset1 = Server.CreateObject ("ADODB.Connection")
Conn_Recordset1.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath(percorso_mdb)
Set Recordset1 = Server.CreateObject("ADODB.Recordset")
SQL="SELECT codice_articolo FROM tab_articoli WHERE categoria='"& codice_cat &"' "
Recordset1.Open SQL, Conn_Recordset1
If NOT Recordset1.EOF or NOT Recordset1.BOF Then
SQL = " INSERT INTO "&tabella_mdb&" (categoria,ID) VALUES ('"& descrizione_cat &"','"& codice_cat &"') "
connection.execute(SQL)
End IF
Recordset1.Close
Set Recordset1 = Nothing
Conn_Recordset1.Close
Set Conn_Recordset1 = Nothing
End IF
riga=riga+1
Loop
connection.Close
Set connection = Nothing
objOpenFile.Close
Set objOpenFile = Nothing
Set objFSO = Nothing