Access - Autonumeric

 
Vista:

Autonumeric

Publicado por lissi (6 intervenciones) el 29/06/2006 20:16:39
cOMO HAGO PARA QUE EL AUTONUMERIC COMIENCE DE UN NUMERO QUE YO LE INDIQUE
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Autonumeric

Publicado por 2pl (773 intervenciones) el 29/06/2006 23:03:00
Es un error utilizar autonumericos, asi que si estas a tiempo cambia a un entero doble y utiliza la funcion Dmax para controlar el mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha aumentado su posición en 13 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Autonumeric

Publicado por pefiem (33 intervenciones) el 30/06/2006 01:01:11
Si esta en un entorno multiusuario, ni si te ocurra hacer lo que dice el Sr. 2PL, (Con todo respecto), menos utilizar la funcion Dmax, te sugiero que cree una funcion propia para obtener el maximo (Aún cuando crea una funcion para obtener el maximo puede que marque error por duplicacion por los tiempo de respuesta)

El caso que sea una aplicacion local te sugiero crear la funcion para obtener el maximo. ya que la velocidad de utilizar una funcion Propia es mucho más rapido de utilizar la funcion DMAX (Para una gran cantidad de datos).

Realmente no tengo claro tu escenario, pero si me entrega más informacion quizas podría aportar a lo solictado

PEFIEM
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Autonumeric

Publicado por 2PL (773 intervenciones) el 30/06/2006 07:41:25
Espero que argumentes tus respuestas, ya que es muy facil decir haz esto o haz lo otro (si tienes una función mejor que la propia de access, exponla aqui y eso si es una solución y una ayuda que sabre adoptarla), yo he utilizado la función y otros muchos más expertos que yo, también y no he tenido ningún problema, asi que te agradeceria nos contara que problemas hay con la función Dmax para no caer en el error de utilizarla más).
No entiendo muy bien el tema de la velocidad ¿ Te refieres a milisegundos, a segundos, a minutos?
Un cordial saludos y el que da lo que tiene... no está obligado a más, el resto le corresponde al que recibe la información.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha aumentado su posición en 13 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Autonumeric

Publicado por pefiem (33 intervenciones) el 30/06/2006 17:08:59
Estimado. 2PL

No es mi intención pasarte a llevar, ni menos hacer de este foro una discucion, o sacar a relucir quien es más experto. Lo que comento y me paso como experiencia que en vez de utilizar la Funcion que trae Access DMAX, utilice una propia creada por el mismo usuario, la cual no tendra problema para obtener el mayor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha aumentado su posición en 13 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Autonumeric

Publicado por pefiem (33 intervenciones) el 30/06/2006 17:18:52
Continuando con el parrafo de arriba

También uno como desarrollador debe saber que siempre hay soluciones más ingeniosa y eficiente que las creadas por uno mismo y la idea es siempre sacar lo mejor de ella.

Agradecere dejar esta discucion hasta aquí. Y disculpa si ofendi a alguien

adjunto funcion creada por mi :

donde
Psql: viene siendo el SQL
ParamArray : viene siendo los parametros de la consulta

Function BSC_MAXIMO(ByVal PSql As String, ParamArray aParameter() As Variant) As Long
Dim RstMaximo As Recordset
Dim IntIndice As Long
Set WKS = DBEngine.Workspaces(0)
Set DBS = CurrentDb

Set Qry = DBS.CreateQueryDef("", PSql)
For IntIndice = 0 To UBound(aParameter, 1)
Qry.Parameters(IntIndice) = aParameter(IntIndice)
Next IntIndice

Set RstMaximo = Qry.OpenRecordset(dbOpenSnapshot)
If RstMaximo.RecordCount < 1 Then
BSC_MAXIMO = 1
Else
BSC_MAXIMO = Nz(RstMaximo![CampoMax], 0) + 1
End If
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Autonumeric

Publicado por mi menda (1111 intervenciones) el 30/06/2006 02:59:03
tal como yo entiendo la pregunta, lo que quieres es comenzar un registro por un determinado nº. (no tienes registros en la tabla). Puedes hacer una segunda tabla con un campo con el mismo nombre del campo autonumerico de la 1ª tabla, pero de tipo Entero largo. Introduces un registro en la 2ª tabla, un nº menor del que quieres que comience. Luego creas una consulta de datos anexados y añades este nº al campo autonumerico de la 1ª tabla. En la 1ª tabla borras el registro, y te comenzara por el nº siguiente.
Si tuvieras datos en la tabla, solo puedes hacer esto con números superiores al último registro.
Y volviendo al debate, sí esto es lo que quieres puedes utilizar un campo autonúmerico, pero si vas a utilizar el campo para reeumerar registros, logicamente, con un autonúmerico no lo podrás hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos Q
Val: 26
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

RE:Autonumeric

Publicado por Carlos Q (48 intervenciones) el 01/07/2006 06:29:52
Hola
Alguna vez me toco resover un problema como este, donde el Autonumerico no me servia y un amigo me paso el siguiente codigo para generar una secuencia de numeros mas controlada:
Dim varFacturaNumero as integer
varFacturaNumero = Nz(DMax("[NombreDelCampo]", "NombreDeLaTabla"), 100) + 1
Me.NombreDelCampo.DefaultValue = varFacturaNumero

Estudie el codigo y modifiquelo a sus necesidades, espero que le sirva ,a mi me ha funcionado
chao.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar