Access - enumerar registros en formulario continuo

   
Vista:

enumerar registros en formulario continuo

Publicado por Miguel Angel (1 intervención) el 11/03/2008 12:54:03
Hola a todos. Tengo un formulario continuo y me gustaria que apareciesen cada registro enumerado. 1,2,3,4... etc, ademas tengo la opcion de ordenar por varios campos, y me gustaria que al reodenar se volviesen a enumerar. todo esto lo hago para intentar hacer el efecto de poner un color a cada linea del subformulario.
¿alguna idea? Muchas 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:enumerar registros en formulario continuo

Publicado por JOSELO (1 intervención) el 11/03/2008 13:42:14
La verdad es que hubo un tiempo que lo intenté hacer, pero no pude. Llegué a pasar los datos del subformulario a una tabla temporal, pero se volvía muy lento por cada vez que cambiaba el orden.

Si alguien sabe como hacerlo. que nos ayude por favor. Como siempre les agradezco a todos, muchisimas gracias.
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:enumerar registros en formulario continuo

Publicado por jcs (78 intervenciones) el 11/03/2008 14:57:00
Muy buenas,

Una solución puede ser crear un cuadro de texto con la siguiente fórmula

=[CurrentRecord]

En vista formulario se verán todos 1, pero en la vista preliminar e impresión, aparecen numerados.

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

RE:enumerar registros en formulario continuo

Publicado por Miguel Angel (9 intervenciones) el 11/03/2008 17:28:04
Muchas gracias pero como bien dices esa opcion no es válida para el fin que yo busco que es usar el formato condicional. Alguna idea mas?

Muchas gracias
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:enumerar registros en formulario continuo

Publicado por mi menda (1111 intervenciones) el 11/03/2008 20:46:46
Hola Miguel Angel:
Para eso te basta con tener un campo autonumérico en la tabla, luego en el pie o encabezado del subformulario pones un cuadro de texto independiente y su propiedad visible en no, en el evento al activar registro del subformulario pones:

txtIndependiente = CampoAutonumerico

Luego en el formato condicional de cada campo seleccionas "La expresión es", y como expresión pones:

[txtIndependiente] = [CampoAutonumerico]

y seleccionas el color de fondo para cada campo.

Para enumerar registros en un subformulario puedes utilizar esta función de Chea:
http://accessvbafaq.mvps.org/item.asp?pagina=39

Pero yo la utilice para dar el color de fondo en vez de un autonumérico y al no estar el valor en la tabla, no me funciono.

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

RE:enumerar registros en formulario continuo

Publicado por Enrique (1299 intervenciones) el 11/03/2008 23:18:49
Hola Miguel Angel:
Numerar las líneas de un formulario contínuo empezando por el 1 y renumerarlos nuevamente desde el 1 al ordenar por campos, es fácil, lo que no entiendo es lo del Formato Condicional ¿ para qué necesitas los números de línea en el formato Condicional ?, si en el formulario, sea cual sea el órden de los campos, los registros estarán siempre numerados de arriba hacia abajo como 1, 2, 3, 4, 5, etc. Esto no lo pillo.

¿ No será más bien lo que necesitas, que los registros tengan dos colores alternativos, ejemplo: el 1 Verde, el 2 Blanco, el 3 Verde, el 4 Blanco, el 5 Verde. ?

No sé, ya nos contarás.

Saludos
Enrique
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:enumerar registros en formulario continuo

Publicado por Miguel Angel (9 intervenciones) el 12/03/2008 09:04:58
Efectivamente, quiero alterar los colores tal como dices. En primer lugar no me vale poner un autonumérico en la tabla porque mi subformulario se carga con diferentes datos en función de los campos que seleccione en el formulario principal y en segundo lugar reordeno el formulario si pincha en el título de cualquiera de las columnas, menudo lio se me forma con el autonumérico. no me vale. Quizás sea mas fácil de lo que me estoy planteando. No sé.
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:enumerar registros en formulario continuo

Publicado por Pancho (149 intervenciones) el 13/03/2008 17:40:27
Hola

Necesitas una rutina que te devuelva un numero de registro unico, esta es la rutina en cuestion:

'/*
' * Contador de Registros en Formularios
' */
Dim gContador As Long
Function frmContador(frm As Form) As Long

On Error GoTo frmContador_err

With frm.RecordsetClone
.Bookmark = frm.Bookmark
frmContador = 1 + .AbsolutePosition
End With
Exit Function

frmContador_err:
' estas líneas realmente no se necesitan pues
' si se produce cualquier error, la función
' devolverá 0 igualmente, pero se deja aquí
' a nivel de información
If Err = 3021 Then 'no hay registro activo
gContador = 0
End If
End Function

Porsupuesto el codigo de funcion es "prestado" y debo agradecer al programador original que lo realizo, y lamento no colocar su nombre aqui ya que no lo consegui. Sin embargo la rutina funciona perfectamente.

Lo otro que debes hacer es colocar un campo con un formato condicional

'Se setea el color de la Banda
'*****************************
Me.BANDA_COLOR.FormatConditions.Delete
Me.BANDA_COLOR.BackColor = vbWhite
Me.BANDA_COLOR.FormatConditions.Add acExpression, , "(frmContador(Forms!MI_FORMULARIO) Mod 2)=1"
Me.BANDA_COLOR.FormatConditions(0).BackColor = vbCyan

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

Una duda mas.

Publicado por Miguel Angel (9 intervenciones) el 17/03/2008 11:51:44
Muchas gracias por la solucion, veo la lógica, pero donde colocas el seteo de la Banda?
no lo consigo.
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