por supuesto, Rafa, por eso puse "autoincrementales" entre comillas. Los campos son enteros
Saludos Estela Lázaro D&SIP Desarrollo y Servicios Informáticos Profesionales www.dsip.com.ar ________________________________ De: Rafael Copquin <[email protected]> Para: GUFA List Member <[email protected]> Enviado: jueves, 26 de noviembre, 2009 13:18:14 Asunto: [GUFA] Campo Autoincremental En realidad no estás hablando de autoincrementales,¿verdad? Porque los campos autoincrementales en VFP son readonly, entonces te da error si intentás cambiarlos. Te referís a una tabla auxiliar que tiene el último número para cada tabla, me parece. Rafael Copquin ----- Original Message ----- >From: Estela Lázaro >To: GUFA List Member >Sent: Thursday, November 26, 2009 10:50 AM >Subject: [GUFA] Campo Autoincremental > > >Hola > >Yo uso una tablita auxiliar con todos los campos "autoincrementales" y le voy >sumando 1 y si revierto y es el mismo - 1, se lo resto. > >Me parece más rápido si tenés muchs registros > >Saludos > >Estela Lázaro >D&SIP > >Desarrollo y Servicios Informáticos Profesionales > >www.dsip.com.ar > > > > > > ________________________________ De: Norberto Mario Alvarez <[email protected]> >Para: GUFA List Member <[email protected]> >Enviado: jueves, 26 de noviembre, 2009 9:59:13 >Asunto: [GUFA] Campo Autoincremental > > >Ok, muchas gracias, voy a cambiar la lógica!!!. Voy a tomar de un select el >valor máximo en el momento de guardar. Desde ya muchas gracias. > >Norberto Alvarez > > >De:[email protected] [mailto:[email protected]] En nombre de Rafael Copquin >Enviado el: jueves, 26 de noviembre de 2009 09:17 a.m. >Para: GUFA List Member >Asunto: [GUFA] Campo Autoincremental > >Esa es una de las razones por las cuales los campos autoincrementales se >deberían utilizar solamente como claves primarias surrogadas. Si por ejemplo >las usamos para generar números de facturas (que deberían coincidir con el >número del formulario preimpreso), en caso de error o de que, como dice >Antonio, alguien grabe antes que vos, se te puede armar una galleta infernal. > >Deberías considerarlas equivalentes a un número de registro. Pero a diferencia >de recno(), que te da el número de registro y permanece constante a menos que >borres algunos registros y le hagas un pack a la tabla, dicho número es >absolutamente independiente del número de registro. En otras palabras, si >tenés una tablita con 10 registros y borrás el último, por ejemplo, le hacés >un pack y después agregás otro registro, dicho nuevo registro va a tener el >número 10 de recno(), pero en el caso de la clave autoincremental va a tener >el 11. Si vos hubieras basado tu lógica en el recno() tendrías un resultado >que no es el correcto. En cambio, con el número autoincremental podés borrar >todos los registros que quieras, pero el registro siempre conserva su >identidad inalterable. Las relaciones entre tablas no se te modifican, en >fin...... > >Rafael Copquin > > >----- Original Message ----- >>From:Antonio M. Castaño >>To:GUFA List Member >>Sent:Wednesday, November 25, 2009 8:27 PM >>Subject:[GUFA] Campo Autoincremental >> >>Hola Norberto: >> >>Es así. Es lo que hacen todos los motores de base de datos. Cuando vos hacés >>el append te "reserva" el número siguiente de el campo autoncremental. Hace >>eso, porque en ese mismo momento, alguien podría estar haciendo otro append. >>Si no tiene reservado una para vos, qué número le asignaría si el otro graba >>primero?. Lo que te garantiza el motor es que sean todos diferentes. NO que >>sean consecutivos. >> >>Si necesitás un campos incremental, todos consecutivos, lo tenés que manejar >>de otra manera, con lógica programada por vos. >> >>Saludos! >________________________________ >Encontra las mejores recetas con Yahoo! Cocina. >http://ar.mujer.yahoo.com/cocina/ Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/
