Access - Como crear un columna autonumerica en consulta

 
Vista:

Como crear un columna autonumerica en consulta

Publicado por Nicolas (6 intervenciones) el 14/07/2009 21:00:54
Hola a Todos !!!

Tengo una consulta que es demasiado extensa, tiene más de 300.000 registros y quiero agregarle una columna que enumere los registros

Encontre dentro del foro un procedimiento que funciona, pero cuando lo ejecuto con una consulta muy extensa me sale un error de desbordamiento

Lo que hice fue lo siguiente:

Primero crear un Módulo nuevo y pega dentro esta Función, sin cambiar NADA
y guárdalo con cualquier nombre (Módulo1 por ejemplo):

Public Function Numerador(Campo) As Long
Static Ordenar As Integer
If IsNull(Campo) Then
Ordenar = 0
Exit Function
End If
Ordenar = Ordenar + 1
Numerador = Ordenar
End Function

Ahora creas una nueva Consulta, la abres en diseño, cierras la ventana "Mostrar Tabla"
sin seleccionar ninguna y te vas directamente al Menú "Ver / Vista SQL" y ahí pegas
esta línea:

Select Numerador([NombreCampoTabla]) As NroRegistro, * From Tabla1
Union All Select Numerador(Null), * From Tabla1 Where 1=0;

Aquí cambias "NombreCampoTabla" por el nombre del primer campo de tu Tabla Origen
y "Tabla1" por el nombre real de la misma. También puedes cambiar "NroRegistro"
por otro nombre para el campo numerador, aunque esto es opcional. Ejecuta la consulta
de Unión y verás como el primer campo (NroRegistro) numera correlativamente los registros,

Esto lo escribio "Enrique"

Si alguien puede ayudarme les agradeceria. Gracias.-
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:Como crear un columna autonumerica en consulta

Publicado por 2pl (33 intervenciones) el 15/07/2009 09:35:48
Prueba poniendo Public Function Numerador(Campo) As Double
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:Como crear un columna autonumerica en consulta

Publicado por Nicolas (6 intervenciones) el 15/07/2009 14:47:12
Hola... probe con Double y lo mismo me genera el error de desbordamiento

El mensaje que me da es el siguiente:

>>>Se ha producido el error '6' en tiempo de ejecución:

>>>Desbordamiento

Te copio el modulo

Public Function Numerador(Campo) As Double
Static Ordenar As Integer
If IsNull(Campo) Then
Ordenar = 0
Exit Function
End If
Ordenar = Ordenar + 1
Numerador = Ordenar
End Function

Cuando voy a Depurar e ingreso al modulo aparece sombreado en amarillo
Ordenar = Ordenar + 1
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:Como crear un columna autonumerica en consulta

Publicado por jose (11 intervenciones) el 15/07/2009 15:49:15
Pues si, puedes definir Ordenar como doble, parece que con integer no le alcanza para la cantidad de datos que debe procesar, llega un momento en que el # registro es un valor superior a lo que admite este tipo de datos
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:Como crear un columna autonumerica en consulta

Publicado por Raziel (61 intervenciones) el 16/07/2009 18:56:20
Y si pones:

Static Ordenar As Long

Intenta sustituir la segunda linea de tu codigo por este que puse arriba, a ver que sale...
Saludos!!
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:Como crear un columna autonumerica en consulta

Publicado por 2pl (33 intervenciones) el 17/07/2009 08:35:34
El desbordamiento se produce aqui "Static Ordenar As Integer" asi que prueba con Static Ordenar As double
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:Como crear un columna autonumerica en consulta

Publicado por Nicolas (6 intervenciones) el 29/07/2009 20:09:48
Con esta modificación funciona. Muchas gracias por vuestra 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

RE:Como crear un columna autonumerica en consulta

Publicado por alexo (1 intervención) el 16/12/2015 20:16:42
La función sirve a medias, en mi caso, crea el autonumérico, si yo me voy hasta el último e inmediatamente después me regreso hasta el primero me vuelve a generar otros autonuméricos.....

Saludos!!
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

Como crear un columna autonumerica en consulta

Publicado por Jorge Solorzano Dangond (1 intervención) el 01/07/2016 15:51:27
No te compliques la vida, diseña la consuta y cuando este terminada la convierte en una consulta de creación de tabla,

Ya con una tabla es sencillo, le creas un campo tipo autonumerico y este automáticamente genera el consecutivo...
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

Como crear un columna autonumerica en consulta

Publicado por Emmanuel Robles (1 intervención) el 05/09/2017 02:17:04
Mira lo puedes hacer de esta manera:

SELECT DCount("[uncamponumericoacontar]","[nombretabla]","uncamponumericoacontar<" & [uncamponumericoacontar])+1 AS contador,campo2, Campo3
FROM nombretabla ;

es importante que el campo que pongas como referencia a "contar sea unico"
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