Для этого вам необходимо отслеживать две вещи:
- количество строк, которые будут вставлены
- данные каждой строки
Трюки для этого просты.При отображении данных вы увеличиваете переменную на количество циклов.
<%
iNumberOfRecords = 0
Do Until Recordset1.EOF
%>
<tr>
<td>
<input name="dipatchid" type="text" id="..." value="<%=Recordset1("dispatchid")%>" />
</td>
...
</tr>
<%
iNumberOfRecords = iNumberOfRecords + 1
Recordset1.MoveNext
loop
Recordset1.Close
%>
Прежде чем закрывать тег <form>
, вы помещаете его в скрытое поле.
<input type="hidden" name="iNumberOfRecords" value="<%=iNumberOfRecords%>" />
Далее, на странице, на которую вы отправляете, вы циклически iNumberOfRecords
раз вставляете все строки.
<%
for i = 1 to CInt(Request.Form("iNumberOfRecords"))
idOfRecord = GetFormValue("dipatchid", i)
otherField = GetFormValue("otherField", i)
SQL = "INSERT INTO tblInvoices(dispatchid, otherfield) VALUES ( " & idOfRecord & ", " & otherfield & " )"
Connectionobject.Execute(SQL)
next
Function GetFormValue(sFormname, iIndex)
If Request.Form(sFormname).Count >= iIndex And iIndex > 0 Then
GetFormValue = Request.Form(sFormname)(iIndex)
Else
GetFormValue = ""
End If
End Function
%>
(i)
выбирает нужный элемент Request.Form("...")
для вас.