
20/12/2002, 12:23
|
| | Fecha de Ingreso: noviembre-2002
Mensajes: 249
Antigüedad: 22 años, 5 meses Puntos: 0 | |
Si acaso les comento las líneas !!! Esta es la página catalogo.asp, la puedo llamar desde el menu, pasandole el parametro familia o desde la misma página, para grabar el pedido.
Primero miro si la referencia1 (sería el primer dato del formulario), tiene algún dato, si no vale nada, es que vengo desde el menu, por lo que solo tengo que poner el catálogo. if Request.form ("Referencia1") <> "" then
Alguna varibles que he puesto, podría ponerla directamente, pero para probar si tengo el error en algún valor, lo hago así.
Abro la BD y miro registros que tiene esa familia con la condición familia. 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
Hago un bucle y hago una pasada por cada registro que tiene la tabla. For p = 1 to conta
Si cantidad&p no tiene ningún valor, no hago nada, si tiene algún valor entro en el if. If Request.form ("cantidad"&p) <> "" then
Hago el select con los valores cliente, referencia y fecha. 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
Si el recordset, es eof, quiere decir que no hay ningún registro que cumpla con estas condiciones, por lo que añado un registro. 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)
Si existe un registro con estas condiciones, sumo la cantidad a la que ya tenia.
else
wcantidad = RS2.Fields("cantidad")
RS2.Fields("cantidad") = wcantidad + request.form ("cantidad"&p)
end if
Aqui guardo el registro, tanto si es uno nuevo, como si es añadido RS2.update
RS2.close
End If
Vuelvo a leer la siguiente linea del formulario next
Bueno, pues esto no da errores (visibles), pero solo me crea registros nuevos, tanto si existe como si no. Es como si siempre fuera eof. Es posible que la fecha que tengo en la variable de session, creada así Dia = Day(Date)
Mes = Month(Date)
Anyo = Year(Date)
Session ("Fecha") = Dia & "/" & Mes & "/" & Anyo
Sea diferente que la que guarda la BD? |