Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cómo hacer que un campo autonumérico inicie desde un valor específ

1,319 views
Skip to first unread message

jomorte

unread,
Feb 7, 2010, 9:44:01 PM2/7/10
to
Saludos a todos y de antemano gracias por la respuesta.

Por razones obvias, en muchos casos se desea que un campo autonumérico no
inicie en 1 sino en un valor especificado. Cómo hacer?.


--
jmt

raipon

unread,
Feb 8, 2010, 3:39:28 AM2/8/10
to
Hola, puedes utilizar una instrucci�n ddl para modificar el campo.
Supongamos que tienes una tabla llamada Ejemplo, con un campo autonum�rico
(ente otros) llamado Id. Ejecuta la siguiente consulta :

Alter table Ejemplo Alter Column Id Counter (100,1)

Esto modificar� el campo para que el primer valor sea 100 e incremente en
uno los sucesivos.

Adios, un saludo.


Emilio

unread,
Feb 8, 2010, 4:28:50 AM2/8/10
to
--------------------------------------------------------------------------
�Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvi� o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
a�adir que es un procedimiento un poco peligroso, ya que permite establecer
como valor de inicio uno ya existente y que se producir� un error al
insertar un valor; por si no queda suficientemente claro, puedes poner que
comience en 100, aun cuando ya exista ese valor 100 en el campo, de modo que
al insertar el pr�ximo registro tratar� de poner 100 y se producir� un error
porque ya existe ese valor.

Saludos a tod@s
Emilio [MS-MVP Access 2006/10]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio

"raipon" <raimo...@hotmail.com> escribi� en el mensaje
news:%23V1K3oJ...@TK2MSFTNGP02.phx.gbl...

xavi

unread,
Feb 8, 2010, 7:41:30 AM2/8/10
to
Hola,


Siento curiosidad... ¿que razones? y, ¿porque son obvias?


--
Un saludo

Xavi
http://www.llodax.com
http://www.mvp-access.com/foro


"jomorte" <myque...@hotmail.com> escribió en el mensaje de
noticias:3CCFEE24-4DE0-4997...@microsoft.com...

jomorte

unread,
Feb 8, 2010, 4:26:01 PM2/8/10
to
Gracias a Ripon y Emilio por sus observaciones y las pondré en práctica, para
Xavi, las razónes son por ejempo cuando se tiene una papelería preimpresa y
se quiere continuar con ese consecutivo entre otras.
--
jmt


"xavi" escribió:

> .
>

julian-vlc-sp

unread,
Feb 8, 2010, 6:03:58 PM2/8/10
to
===========================================

�Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvi� o no la respuesta dada. Muchas gracias.
===========================================

Los autonumericos no sirven para llevar consecutivos.

Solo sirven para tener n�meros distintos, y normalmente el ultimo que se
crea es mayor que el resto.


SALUDOS.
Juli�n-Valencia-Espa�a
http://www.tinyurl.com/julianvalencia


"jomorte" <myque...@hotmail.com> escribi� en el mensaje
news:50721E38-AD14-4135...@microsoft.com...
> Gracias a Ripon y Emilio por sus observaciones y las pondr� en pr�ctica,
> para
> Xavi, las raz�nes son por ejempo cuando se tiene una papeler�a preimpresa

> y
> se quiere continuar con ese consecutivo entre otras.
> --
> jmt
>
>

> "xavi" escribi�:


>
>> Hola,
>>
>>
>> Siento curiosidad... �que razones? y, �porque son obvias?
>>
>>
>> --
>> Un saludo
>>
>> Xavi
>> http://www.llodax.com
>> http://www.mvp-access.com/foro
>>
>>

>> "jomorte" <myque...@hotmail.com> escribi� en el mensaje de


>> noticias:3CCFEE24-4DE0-4997...@microsoft.com...
>> > Saludos a todos y de antemano gracias por la respuesta.
>> >

>> > Por razones obvias, en muchos casos se desea que un campo autonum�rico
>> > no
>> > inicie en 1 sino en un valor especificado. C�mo hacer?.
>> >
>> >
>> > --
>> > jmt
>>
>> .
>>


xavi

unread,
Feb 9, 2010, 3:50:47 AM2/9/10
to
Ok. Es una razón... pero no me convence para utilizar un Autonumerico. En
cualquier caso utilizaría un numérico cuyo valor obtendría en base al último
numero introducido. De esa forma evitaría el 'problema' que supone cancelar
la inserción de un registro en la tabla: el valor del autonumerico se pierde
y nos queda un hueco.


--
Un saludo


"jomorte" <myque...@hotmail.com> escribió en el mensaje de

noticias:50721E38-AD14-4135...@microsoft.com...

jomorte

unread,
Feb 9, 2010, 10:20:05 AM2/9/10
to
Gracias Xavi, por su valiosa ayuda, tendré en cuenta sus observaciones.

saludos
--
jmt


"xavi" escribió:

> .
>

jomorte

unread,
Feb 9, 2010, 10:22:01 AM2/9/10
to
Gracias Xavi por su valiosa ayuda, tendré en cuenta sus observaciones.

saludos
--
jmt


"xavi" escribió:

> Ok. Es una razón... pero no me convence para utilizar un Autonumerico. En

> .
>

Ju@nK

unread,
Feb 9, 2010, 6:06:35 PM2/9/10
to
Con una consulta de datos anexados puedes introducir cualquier valor a un
auto numérico, pero como dice Xavi esto no es nada recomendable, la utilidad
de los auto numéricos no pasa por que puedan ser utilizados para otra cosa
que no sea un valor único con incremento automático que puede ser utilizado
de clave principal en una tabla. Si quieres un valor
controlado/controlable, crea un campo y llénalo con los valores que quieres,
con dlookup o dmax o dlast puedes obtener valores de una tabla y puedes
utilizar una de las funciones agregadas de dominio en la formula de valor
predeterminado en un formulario. ej.:

=dmax("MiCampo";"MiTabla")+1

"jomorte" <myque...@hotmail.com> escribió en el mensaje de

noticias:D00A90F1-D74E-4BEF...@microsoft.com...

--
--
**
Salu2/Regards
Ju@nK [MVP Access] 2006/10
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es
www.juank.es
¿Que es un MVP?, entérate en http://mvp.support.microsoft.com
**

emiliov

unread,
Feb 10, 2010, 9:26:07 AM2/10/10
to
Hola Ju@nK

Estoy de acuerdo con tigo pero usar dlookup para crear autonumericos causa
problemas, yo los e tenido, con ayuda de Patxi:

Según Microsoft y la ayuda de Access, DÚltimo y DPrim devuelven un registro
aleatorio. Y recomiendan usar una consulta si quieres el primer registro o
el último de un conjunto de registros:

- http://office.microsoft.com/es-es/access/HA012288233082.aspx

DMax no funciona de la misma forma: siempre devuelve el máximo valor del
conjunto de registros, por lo que en un principio no debiera tener los
mismos problemas que con DÚltimo:

-
http://office.microsoft.com/es-es/access/HA012288263082.aspx?pid=CH100728913082


Saludos.

Ju@nK

unread,
Feb 11, 2010, 10:33:54 AM2/11/10
to
Exacto, por eso puse DMax que es el que suelo utilizar yo, aunque prefiero
hacer una función y cargar el valor predeterminado desde código, así puedo
controlarlo mucho mejor.

"emiliov" <emi...@discussions.microsoft.com> escribió en el mensaje de
noticias:97760362-1ABD-4E62...@microsoft.com...

--

emiliov

unread,
Feb 11, 2010, 3:30:03 PM2/11/10
to
Hola Ju@nK
Mas claro ni el agua, pero que mas hace tu función ademas de sumar 1 al
mayor (pura curiosidad), saludos.

Ju@nK

unread,
Feb 11, 2010, 4:50:16 PM2/11/10
to
Controlar que la numeración esté correcta y avisarme si falta algún número,
si solamente pones como valor predeterminado =dmax(...) +1, te funcionará
correctamente en el primer registro que añadas, pero si no guardas
previamente y le das a otro nuevo, seguirá manteniéndote el mismo nº, con lo
que tendrás un error, sin embargo al meterlo en un evento, puedes forzar el
guardar el registro y controlar que no exista el que intentas poner como
predeterminado (mucho mas control), puedes utilizar la función agregada de
dominio en la función o cargar una consulta o un recordset.

"emiliov" <emi...@discussions.microsoft.com> escribió en el mensaje de

noticias:C72210CE-BC46-418F...@microsoft.com...


> Hola Ju@nK
> Mas claro ni el agua, pero que mas hace tu función ademas de sumar 1 al
> mayor (pura curiosidad), saludos.
>

--

emiliov

unread,
Feb 12, 2010, 10:43:02 AM2/12/10
to
Excelente Ju@nK y ahora a crear mi función. Saludos.

Ju@nK

unread,
Feb 14, 2010, 10:34:15 AM2/14/10
to
:-)

"emiliov" <emi...@discussions.microsoft.com> escribió en el mensaje de

noticias:FB842FFE-9090-4465...@microsoft.com...


> Excelente Ju@nK y ahora a crear mi función. Saludos.

--

0 new messages