Foros del Web » Soporte técnico » Ofimática »

Enumerar registros en Access

Estas en el tema de Enumerar registros en Access en el foro de Ofimática en Foros del Web. Hola a todos! Supongo que no será muy complicado, pero llevo un par de días intentando numerar los registros que obtengo en un informe de ...
  #1 (permalink)  
Antiguo 03/10/2004, 16:00
rim
 
Fecha de Ingreso: octubre-2004
Ubicación: Vigo
Mensajes: 4
Antigüedad: 19 años, 6 meses
Puntos: 0
Enumerar registros en Access

Hola a todos!

Supongo que no será muy complicado, pero llevo un par de días intentando numerar los registros que obtengo en un informe de listado de clientes, y no he sido capaz de hacerlo..

Lo que busco es que me aparezca en el informe:

1 Cliente xxxxx
2 Cliente yyyy
...................

pero no consigo que aparezca el numerillo.

He probado con controles calculados, y distintas opciones, pero ya no se me ocurre nada... hay alguna forma sencilla de hacerlo..?

GRACIAS
  #2 (permalink)  
Antiguo 07/10/2004, 03:53
rim
 
Fecha de Ingreso: octubre-2004
Ubicación: Vigo
Mensajes: 4
Antigüedad: 19 años, 6 meses
Puntos: 0
Hola de nuevo!!

Para resolver el problema que planteaba, he creado un módulo con una función que devuelve el valor de un contador para ir numerando los registros resultantes de un consulta:

---------------------------------------------
Option Compare Database

Global Contador As Integer
Global TotalRegistros As Integer

Function Cuentas(Dato As Integer) As Integer

'Incremento el numero de registro
Contador = Contador + 1

'Devuelvo el valor incrementado
Cuentas = Contador

'Compruebo si es el ultimo registro de la consulta a numerar
'Si es asi, inicializo el contador para que al volver a ejecutar la consulta
'comience a numerar desde 0 otra vez
If TotalRegistros = 0 Then
TotalRegistros = DCount("Codigo", "Listado Clientes")
Else
If Contador = TotalRegistros Then
TotalRegistros = 0
Contador = 0
End If
End If

End Function

---------------------------------------------
Despues en el diseño de la consulta creo un nuevo campo numero y pongo :
Numero: Cuentas([Codigo])

Cuando ejecuto la consulta, durante 1segundo aparece todo correcto, y va numerando
1
2
3
..

Pero inmediatamente despues se refrescan esos valores y si de la consulta resultan 80 registros,
aparece algo como esto:
78
79
80
1
2
...

Además cada vez que muevo la barra de desplazamiento, se recalculan esos valores...

Alguien me puede explicar cual es el problema... ?

Una vez más..GRACIAS
  #3 (permalink)  
Antiguo 07/10/2004, 05:23
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años
Puntos: 0
Tienes una clave única por cliente???

si es así modifica esa función y utiliza un array para asignar a un cliente siempre la misma clave, al pedir la clave, buscas en el Array, si existe, devuelves el número que le hubieras dado en su momento, y si no, añades el cliente al array con el número que le toque...

Espero haberte entendido, y poder ayudarte

P.D.: Por cierto, ¿cuando hablas de informe, re refieres a una consulta, o a un informe en crystal o access?
  #4 (permalink)  
Antiguo 07/10/2004, 08:07
rim
 
Fecha de Ingreso: octubre-2004
Ubicación: Vigo
Mensajes: 4
Antigüedad: 19 años, 6 meses
Puntos: 0
Gracias Teri,

Efectivamente,estoy utilizando un campo autonumérico por cliente [Cod], que se va incrementando a medida que voy metiendo nuevos clientes..

En el primer post hablaba de informe (de Access) porque pensaba hacer un informe basado en la consulta, y que fuese el propio informe el que calculase ese numerillo...

Ahora lo que hago es calcular ese "numerillo" en la consulta, utilizando la función anterior, para luego crear un informe basado en esta consulta más sencillo. (A veces me lío un poquillo, porque sólo llevo una semanita con Access..)

Voy a probar lo que me cuentas, que seguro que funciona, porque con esa relación fija "Cod" <> "Numero" del array, para un mismo cliente (Cod) siempre devuelve el mismo numero de orden (Numero)...

GRACIAS por vuestra paciencia con los principiantes...!!

Un saludo.
  #5 (permalink)  
Antiguo 07/10/2004, 09:31
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años
Puntos: 0
Empecé a responderte el mensaje anterior para hacerlo en un informe de Access, que es mucho más sencillo que hacer una consulta, pero al releer tu mensaje no vi lo del informe

Te cuento entonces como puedes hacerlo directamente en el informe sin utilizar funciones.

Creas un cuadro de texto, como ya tendrás hecho seguramente, en el origen del control pones =1 y luego en la propiedad suma continua estableces "sobre todo", y te saca automáticamente el número.

Esto es más sencillo que hacer una función

Un saludo
  #6 (permalink)  
Antiguo 07/10/2004, 12:47
rim
 
Fecha de Ingreso: octubre-2004
Ubicación: Vigo
Mensajes: 4
Antigüedad: 19 años, 6 meses
Puntos: 0
Tema cerrado, lo acabo de probar y FUNCIONA!!!!!!!!

MUCHISIMAS GRACIAS TERI!! Llevo unos cuantos días con este temita, y ya me extrañaba que no se pudiese hacer de una forma más sencilla..

Te estaré eternamente agradecido..

Saludos y gracias otra vez !!
  #7 (permalink)  
Antiguo 08/10/2004, 06:49
 
Fecha de Ingreso: septiembre-2004
Mensajes: 36
Antigüedad: 19 años, 7 meses
Puntos: 0
Hola,

Para completar...

si en un campo (no vinculado a una tabla o consulta) escribes: =suma(1) te devolverá el número total de registros; si escribes =[CurrentRecord] te mostrará el número de registro al que corresponde. Este último es útil para numerar y el primero para saber cuantos registros tienes.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:31.