Hola a todos, tengo un problema, tengo este código, que no me da ningun error, pero no funciona como debería.
Esta página, graba pedidos, la idea, que mire las líneas del formulario y si han puesto cantidad, las graba en una tabla.
Hasta aquí ningún problema, lo que pasa es que ahora he puesto que si la línea existe, en vez de crear otra linea, añada la cantidad a la linea existente. Para saber que es unica, tienen que cumplirse que la referencia, cliente y fecha sean igual, si no crea la línea.
Siempre me crea una linea, no me añade. Aquí teneis el trozo de código.
if Request.form ("Referencia1") <> "" then
set fami = Request.Form("familia1")
Session ("wfami") = fami
SQL1 = "SELECT * FROM per_art where familia='" & fami & "'"
RS1.Open SQL1, BD, 1, 2
conta = RS1.RecordCount
For p = 1 to conta
If Request.form ("cantidad"&p) <> "" then
ref = request.form ("referencia"&p)
SQL2 = "SELECT * FROM per_ped where codigo=" & session ("cli") & " and referencia='" & ref & "' and fecha=" & session ("fecha")
RS2.Open SQL2, BD, 2, 3, 1
if RS2.eof then
RS2.AddNew
RS2.Fields("codigo") = Session ("cli")
RS2.Fields("Referencia") = Request.Form ("Referencia"&p)
RS2.Fields("Cantidad") = Request.Form ("Cantidad"&p)
RS2.Fields("Precio") = Request.Form ("Precio"&p)
RS2.Fields("Fecha") = Session("Fecha")
RS2.Fields("descripcion") = Request.Form ("descripcion"&p)
else
wcantidad = RS2.Fields("cantidad")
RS2.Fields("cantidad") = wcantidad + request.form ("cantidad"&p)
end if
RS2.update
RS2.close
End If
next
Os agradecería toda la ayuda posible. GRACIAS.