| ||||
ok si, pero quiero realizar una consulta basada en el ultimo registro es decir, llamar ese registro desde que establesco el record set. Bueno... para no hacerla mas cansada quiero insertar registros donde el registro de la clave principal sería: el último registro + 1. Gracias |
| ||||
![]() ![]()
__________________ ¡¡NO A LA GUERRA!! Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! |
| ||||
osea, quiero insertar un nuevo registro a mi base de datos (la clave principal de la tabla esta en formato numérico) y quiero que al registrar la clave principal el valor sea el último registro + 1, osea que si el ultimo registro es 10, este dara como resultado 11. |
| ||||
Pues bien, creo que sin campo autonumerico, la mejor forma es ir primero al último registro como ya te indiqué antes. Recoges en una variable el valor de la clave principal. A este valor le sumas 1 y lo introduces en el nuevo registro. Más o menos así:
Código:
Creo que la inclusión de nuevos datos se hacía así. Compruébalo de todas formas.RS.Movelast contador=RS("clave")+1 RS.AddNew RS("clave") = contador RS("otrocampo") = loquesea ... RS.Update Por otro lado, puede que el campo de la clave principal, al no ser autonumérico se desordene por lo que sea. Te recomiendo entonces que en la consulta SQL lo ordenes en función del campo "clave" si es que se llama así:
Código:
Espero que así te funcione.sql = "SELECT * FROM tabla ORDER BY clave" Un saludo.
__________________ ¡¡NO A LA GUERRA!! Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! |
| |||
Sería mejor obtener directamente el mayor de todos, te ahorras el desplazarte por el recordset hasta el final SELECT Max(Clave) AS ValorMaximo FROM TuTabla Ahí tienes el último.... Un saludo ![]() |
| ||||
use esto pero me marco arror Cita: Ahora , quisiera saver como obtengo el registro con maximo valos usando "MAX(edad)", ya que pongo algo asi : rs("edad") pero me dice que no existe ese dato en la tabla. RS.Movelast contador=RS("clave")+1 RS.AddNew RS("clave") = contador RS("otrocampo") = loquesea ... RS.Update |
| ||||
SELECT Max(Edad) AS ElMasViejito FROM TuTabla Luego... Rs("ElMasViejito") Como verás, al obtener una suma, cuenta, máximo, mínimo, etc de un campo se utiliza "AS" ("como")... debés referirte a dicho campo calculado por el nombre definido luego del "AS"
__________________ ...___... |
| ||||
zeudio es probable que te de error porque estés intentando sumar 1 a un campo de tipo texto. ¿Dice algo así como que no coinciden los datos? Se solucionaría convirtiendo el campo a formato numérico en la base de datos o simplemente su valor desde ASP: contador=CSng(RS("clave"))+1 De todas formas creo que la solución de Teri y dazuaga va a ser la más adecuada. Un saludo.
__________________ ¡¡NO A LA GUERRA!! Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! |