Access - Numeración Automática sin autonumèrico

 
Vista:

Numeración Automática sin autonumèrico

Publicado por Francisco Rivera (31 intervenciones) el 29/03/2001 23:35:55
Saludos al foro.
Estoy tratando de crear un autonumèrico en una tabla pero sin usar el tipo autonumèrico, pues quiero comenzar desde un nùmero en especial (300 por ejemplo). Cómo podría hacer esto desde una tabla ???.
Lo he hecho con código desde un formulario, pero pienso utilizar unos formularios en red.
Agradeceré cualquier ayuda.
Gracias.
Francisco
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:Numeración Automática sin autonumèrico

Publicado por menargas (24 intervenciones) el 30/03/2001 09:23:25
Porque no pruebas con poner en valor predeterminado del registro algo como RecordCount+300?
Salu2
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:Numeración Automática sin autonumèrico

Publicado por Enric (18 intervenciones) el 30/03/2001 09:44:57
Creo que la solución de menargas no es válida.
Qué ocurre si dos usuarios tienen su formulario abierto y intentan dar de alta una registro a la vez?. RecordCount+300 será el mismo para los dos.
Pienso que lo mejor seria elegir otro campo clave. Se me ocurre por ejemplo que podemos mantener el contador autonumérico y a la hora de presentar éste campo en formularios y informes, sumar-le el 300.

Un saludo

Enric
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

Solución

Publicado por [email protected] (68 intervenciones) el 30/03/2001 11:21:25
Vamos a ver, creo que la solución que te dan mis compañeros, no es la correcta. Revisemos las variantes posibles.

El campo lo debes marcar como numerico, luego lo que nos interesa es que sume uno a uno el valor. Esto se puede realizar con la siguiente función.
Imaginemos que el campo se llama CODIGO, debes indicar en propiedades que no acepta duplicados.
LA TABLA la llamaremos CLIENTES.

' Introduce el siguiente
Private Sub CODIGO_Enter()
If IsNull(Me.CODIGO) = True Then
If IsNull(DMax("[Codigo]", "CLIENTES") +)= True Then
Me.CODIGO = 300
Else
Me.CODIGO = DMax("[Codigo]", "CLIENTES") + 1
End If
End If
End Sub

* Lo unico que hacemos es controlar la entrada al campo código, si es nulo significa que esta vacio por lo que el ordenador le asignará el valor del mayor número introducido+1, excepto cuando no hay datos que asigna el valor 300.

* Lo unico que debes hacer es controlar un evento en el formulario, en ANTES DE GRABAR, donde debes comprobar que el valor del código no esta duplicado, si es asi, asignas un nuevo valor a CODIGO.

Este caso es el que yo siempre utilizo en mis aplicaciones, ya que hay muchos de mis clientes que no desean que sus contadores empiezen por 1.

Espero que te sirva, un saludo ;-)

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

GRACIAS

Publicado por Francisco Rivera (31 intervenciones) el 30/03/2001 23:19:06
Gracias por su ayuda,, pero exactamente lo que me funcionó fué la solución de Juan Manuel,,, había utilizado el Dmax,, pero tenía el problema que no verificaba como lo plantea Juan,,
Gracias por su ayuda.
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