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.-
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


0