Salve a tutti ho questo problema
Sto cercano di fare un inserimento multiplo di record in un db acces

I valori vengono inviati da la pag 1.asp in questo modo
codice:
<form action="save_ass.asp" method="post">
<input type="hidden" name="oggi" value="<%=day(now)%>" />
<input type="hidden" name="mese" value="<%=month(now)%>" />
<input type="hidden" name="anno" value="<%=year(now)%>" />

<input type="hidden" name="nome" value="<%=RS("nome")%>" />
<input type="hidden" name="cognome" value="<%=RS("cognome")%>" />
<input type="hidden" name="fax" value="<%=RS("fax")%>">          
<input type="hidden" name="nday" value="<%=RS("nday")%>" />
<input type="hidden" name="nmonth" value="<%=RS("nmonth")%>" />
<input type="hidden" name="nyear" value="<%=RS("nyear")%>"> 
  <%
RS.MoveNext
wend
%>
</table>
<input type="submit" value="INVVIA ASSICURAZIONI" name="metodo" />
e nella pagina 2.asp dove recupero e inserisco nel db è cosi
codice:
<%
For i = 1 To Request.Form.count

arraycognome(i) = Request.Form("cognome")(i)
arraynome(i) = Request.Form("nome")(i)
arrayfax(i) = Request.Form("fax")(i)

arraybday(i) = Request.Form("giorno")(i)
arraybmonth(i) = Request.Form("mese")(i)
arraybyear(i) = Request.Form("anno")(i)


arraynday(i) = Request.Form("nday")(i)
arraynmonth(i) = Request.Form("nmonth")(i)
arraynnyear(i) = Request.Form("nyear")(i)



Set Connn = Server.createobject("ADODB.Connection")
Connn.connectionstring="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.Mappath("/mdb-database/soci.mdb")
Connn.Open
strSQL = "INSERT INTO  ass (cognome,nome,fax,bday,bmonth,byear,nday,nmonth,nyear) VALUES ('"&arrcognome(i)&"','"&arrnome(i)&"','"&arrfax(i)&"','"&arrbday(i)&"','"&arrbmonth(i)&"','"&arrbyear(i)&"','"&arrnday(i)&"','"&arrnmonth(i)&"','"&arrnnyear(i)&"')"
response.Write strSQL
response.End()
objConn.Execute(strSQL)
Next
response.Redirect "via.asp"
%>

Nella pagina 2.asp è  presente il seguente errore
Microsoft VBScript runtime  error '800a000d'

Type mismatch: 'arraycognome' 

Come posso  fare ?