Access - Añadir clave correlativa a una consulta

   
Vista:

Añadir clave correlativa a una consulta

Publicado por Xi0N (13 intervenciones) el 19/01/2009 08:47:59
He echo una consulta que es algo asi:

Select (campos) from (tabla) where (campo) like '(condicion)' order by (condicion);

El caos es que me interesaría también que al final, en la consulta salga un ultimo campo con una clave correlativa estilo "REFERENCIA0001"...... ¿Como podría hacer esto?

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:Añadir clave correlativa a una consulta

Publicado por Marcos (236 intervenciones) el 19/01/2009 15:46:34
Xion, yo tengo una instrucción que me la enseñó Enrique quien usualmente colabora en este foro y que gracias a ella pude solucionar algunos problemas.
Lo que sí esta instrucción te deja una consulta de unión y por lo tanto no podrás ingresar datos en ella, sólo te servirá para hacer reportes o formularios en base a esta consulta. De todas a,maneras por si te sirve aquí va.

Esto es lo que Enrique me fascilitó:

Primero crea 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:
Para el ejemplo, la tabla origen tiene cuatro campos: Id, Nombre, Direccion y CodigoPostal y lo adapté para tu caso.

SELECT Tabla.Id, Tabla.Nombre, Tabla.Direccion, Tabla.CodigoPostal, Numerador([NombreCampoTabla]) As NroRegistro
FROM [Tabla]
WHERE (((Tabla.Direccion) Like "TuCondicion"))
ORDER BY Tabla.Direccion;
UNION ALL Select Tabla.Id, Tabla.Nombre, Tabla.Direccion, Tabla.CodigoPostal, Numerador(Null)
From [Tabla] Where 1=0;

Aquí cambias "NombreCampoTabla" por el nombre del primer campo de tu Tabla Origen y "Tabla" por el nombre real de la misma. TuCondición lo reemplazas por la tuya y CampoOrdenamiento por el campo que lo ordenarás. 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, pero como te dije, no permite actualizaciones, aunque puedes usarla como Origen del registro de Informes y Formularios para visualizar datos.

Espero te sirva.
Saludos
Marcos
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