Ho risolto cos':
codice:
sqldettaglio = "SELECT * FROM dettaglio_ordini"
set rsdettaglio = Server.CreateObject("ADODB.Recordset")
rsdettaglio.Open sqldettaglio, conn ,3,3
codici = split(idfilm, ",")
FOR i = 0 TO UBOUND(codici)
rsdettaglio.addnew
rsdettaglio("codicefilm") = codici(i)
rsdettaglio("ordine") = idordine
rsdettaglio.update
NEXT
'rsdettaglio.close
'set rsdettaglio = nothing
'set rsdettaglio = Server.CreateObject("ADODB.Recordset")
'rsdettaglio.Open sqldettaglio, conn ,3,3
'INSERISCO il costo per ogni film preso precedentemente ed assegnato alla variabile PREZZI
'e confronto l'idordine attuale con quello dell'ordine nel campo ORDINE della tabella dettaglio_ordini
prezzifilm = split(prezzi, ";")
rsdettaglio.moveFirst
FOR i = 0 TO UBOUND(prezzifilm)
IF rsdettaglio("ORDINE") = idordine THEN
rsdettaglio("prezzofilm") = prezzifilm(i)
rsdettaglio.update
rsdettaglio.movenext
END IF
NEXT
rsdettaglio.close
set rsdettaglio = nothing
Risolto, il problema ora e' questo
Avendo nella stringa "idfilm" valori così ordinati:
195,136,82
nel database vengono inseriti in ordine crescente:
82 136 195
Se chiudo il recordset e lo riapro con il ciclo per leggere l'array, inserisce esattamente i prezzi in questo modo:
16,99 17,99 17,99
il contenuto della variabile prezzi è il seguente:
16,99;17,99;17,99
Mentre se evito di chiudere e riaprire il recordset, ed uso .movefirst nel databse inserisce cosi:
17,99 17,99 16,99
le corrispondenze giuste sono:
82 -> 16,99
136 -> 17,99
195 -> 17,99
Vorrei risolvere inserendo i valori direttamente in fase di inserimento, ma non mi recupera i valori in access il capo "prezzofilm" resta vuoto:
codice:
codici = split(idfilm, ",")
FOR i = 0 TO UBOUND(codici)
rsdettaglio.addnew
rsdettaglio("codicefilm") = codici(i)
rsdettaglio("ordine") = idordine
rsdettaglio("prezzofilm") = rs("prezzo")
rsdettaglio.update
NEXT
la query sql che uso è questa:
codice:
sqldettaglio = "SELECT dettaglio_ordini.CODICEFILM, dettaglio_ordini.ORDINE, dettaglio_ordini.PREZZOFILM, film.PREZZO, film.IDFILM FROM dettaglio_ordini INNER JOIN film ON dettaglio_ordini.CODICEFILM = film.IDFILM"
sto impazzendo