organizar campos

07/06/2009 - 02:59 por Ivan | Informe spam
hola a todos [aunque ultimamente vengo por aqui mucho menos de lo que
me gustaria, cada vez que me asomo me encanta comprobar que el foro
sigue tan marchoso como siempre. Un saludo de nuevo para todos ;-)]

bueno, como mi 'abandono' del foro corre parejo con el abandono de
'mi' excel, resulta que ando 'pelin' despistado, y, aunque en cuanto
mande esto me voy a poner a desgastar el F1 <a ver si refresco un poco
la memoria>, os agradezco cualquier idea/sugerencia con que empezar a
encarrilar el siguiente asunto [que a lo mejor tiene alguna forma de
hacerlo expecifica y que desconozco] =>


La idea es poder organizar visualmente en pantalla todos los campos de
una tabla +/- automaticamente (pej. con un boton al efecto). El nº de
campos podria ser variable, asi como el ancho individual de los mismos

seria algo parecido a organizar ventanas en mosaico horizontal, pero
en el que se veria en la ventana superior del mosaico los campos que
entren visualmente en la pantalla, en la siguiente ventana los
siguientes campos que quepan visualmente, y asi sucesivamente

evidentemente existen muchos factores que pueden hacer un poco
'aberrante' el tema, empezando porque el numero de campos (o el ancho
de estos) sea tan grande que en ningun caso sea posible visualizarlos
en una misma pantalla, ni aun dejando una sola fila de datos visible.
Pero en mi caso no creo que llegue a darse este problema

asimismo, supongo que tambien influira del ancho y/o configuracion de
pantalla, pero controlar esto al fin y al cabo seria una parte mas del
ejercicio

Todavia no he empezado a meterle mano, pero estos son algunos de los
pasos que se me ocurren para empezar a mirar =>

1º) detectar la ultima columna visible para establecer el 'salto de
campo', repitiendo la operacion cuantas veces sea necesario

2º) insertar tantas 'hojas virtuales' (temporales) como grupos
visuales de campos se requieran

3º) organizar las hojas en mosaico

4ª) a la hora de introducir datos, detectar cuando se llegue al final
de cada grupo visual de campos para saltar al primer campo del
siguiente grupo, controlando a su vez que los datos se actualizan en
los campos 'reales' de la tabla original (aunque quizas tambien
podrian actualizarse al 'terminar' con el registro, pero en este caso
no lo tengo muy claro)


Bueno, lo dicho, lo mismo hay una forma directa y sencilla de hacer
algo parecido. Si es asi os agradezco si lo comentais y si no la hay,
agradeceria cualquier ayuda/idea/opinion para comenzar a encarrilarlo


en cualquier caso gracias por seguir manteniendo el foro con tanta
vida

un saludo
Ivan

Preguntas similare

Leer las respuestas

#1 Ivan
07/06/2009 - 03:19 | Informe spam
sorry, solo un (dos) apunte(s)

a) entre los puntos 1º y 3º evidentemente habria que copiar los
sucesivos grupos visuales de campos (con sus correspondientes datos) e
irlos pegando en cada nueva hoja

b) dado que en cada 'ventana' nos podriamos desplazar no solo por los
campos sino tambien por las filas (cuyo nº seria indeterminado) habria
que estar al tanto de 'sincronizar' el registro activo en todas las
ventanas/hojas

un saludo
ivan

On 7 jun, 02:59, Ivan wrote:
hola a todos [aunque ultimamente vengo por aqui mucho menos de lo que
me gustaria, cada vez que me asomo me encanta comprobar que el foro
sigue tan marchoso como siempre. Un saludo de nuevo para todos ;-)]

bueno, como mi 'abandono' del foro corre parejo con el abandono de
'mi' excel, resulta que ando 'pelin' despistado, y, aunque en cuanto
mande esto me voy a poner a desgastar el F1 <a ver si refresco un poco
la memoria>, os agradezco cualquier idea/sugerencia con que empezar a
encarrilar el siguiente asunto [que a lo mejor tiene alguna forma de
hacerlo expecifica y que desconozco] =>

La idea es poder organizar visualmente en pantalla todos los campos de
una tabla +/- automaticamente (pej. con un boton al efecto). El nº de
campos podria ser variable, asi como el ancho individual de los mismos

seria algo parecido a organizar ventanas en mosaico horizontal, pero
en el que se veria en la ventana superior del mosaico los campos que
entren visualmente en la pantalla, en la siguiente ventana los
siguientes campos que quepan visualmente, y asi sucesivamente

evidentemente existen muchos factores que pueden hacer un poco
'aberrante' el tema, empezando porque el numero de campos (o el ancho
de estos) sea tan grande que en ningun caso sea posible visualizarlos
en una misma pantalla, ni aun dejando una sola fila de datos visible.
Pero en mi caso no creo que llegue a darse este problema

asimismo, supongo que tambien influira del ancho y/o configuracion de
pantalla, pero controlar esto al fin y al cabo seria una parte mas del
ejercicio

Todavia no he empezado a meterle mano, pero estos son algunos de los
pasos que se me ocurren para empezar a mirar =>

1º) detectar la ultima columna visible para establecer el 'salto de
campo', repitiendo la operacion cuantas veces sea necesario

2º) insertar tantas 'hojas virtuales' (temporales) como grupos
visuales de campos se requieran

3º) organizar las hojas en mosaico

4ª) a la hora de introducir datos, detectar cuando se llegue al final
de cada grupo visual de campos para saltar al primer campo del
siguiente grupo, controlando a su vez que los datos se actualizan en
los campos 'reales' de la tabla original (aunque quizas tambien
podrian actualizarse al 'terminar' con el registro, pero en este caso
no lo tengo muy claro)

Bueno, lo dicho, lo mismo hay una forma directa y sencilla de hacer
algo parecido. Si es asi os agradezco si lo comentais y si no la hay,
agradeceria cualquier ayuda/idea/opinion para comenzar a encarrilarlo

en cualquier caso gracias por seguir manteniendo el foro con tanta
vida

un saludo
Ivan
Respuesta Responder a este mensaje
#2 Héctor Miguel
07/06/2009 - 05:05 | Informe spam
hola, Ivan !

1) creo que no seria lo idoneo organizar "en mosaico" las ventanas (necesarias) de tu libro, so pena de perder los campos "arreglados"
en todo caso, la organizacion de las ventanas sera mejor pensar en que sea "horizontal" (?)

2) para determinar cuantas columnas de tu libro "caben" en cada ventana (y crear las necesarias)
puedes basar la busqueda en la propiedad: -> ActiveWindow.VisibleRange
y por un bucle determinar a partir de cual "columna siguiente" se creara una nueva ventana (mismo libro)
p.e. ActiveWindow.VisibleRange.Column + ActiveWindow.VisibleRange.Columns.Count + 1
(claro que esta "semantica" se puede optimizar por medio de variables o bloques With...End With)

3) al crear ventanas sobre el mismo libro te ahorras la "copia/actualizacion de datos" a hojas nuevas y la busqueda de la resolucion en el pc
ademas, puedes mantener "sincronizadas" las ventanas a traves de otra propiedad: -> ActiveWindow.ScrollRow = x
siendo "x" la fila/linea/row "tope" en la ventana "comando"

espero que estas ideas te sea de utilidad, pero ya sabes...
si culquier dua (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
La idea es poder organizar visualmente en pantalla todos los campos de una tabla +/- automaticamente (pej. con un boton al efecto).
El nº de campos podria ser variable, asi como el ancho individual de los mismos
seria algo parecido a organizar ventanas en mosaico horizontal, pero en el que se veria en la ventana superior del mosaico
los campos que entren visualmente en la pantalla, en la siguiente ventana los siguientes campos que quepan visualmente, y asi sucesivamente
evidentemente existen muchos factores que pueden hacer un poco 'aberrante' el tema, empezando porque el numero de campos
(o el ancho de estos) sea tan grande que en ningun caso sea posible visualizarlos en una misma pantalla
ni aun dejando una sola fila de datos visible. Pero en mi caso no creo que llegue a darse este problema
asimismo, supongo que tambien influira del ancho y/o configuracion de pantalla
pero controlar esto al fin y al cabo seria una parte mas del ejercicio
Todavia no he empezado a meterle mano, pero estos son algunos de los pasos que se me ocurren para empezar a mirar =>
1º) detectar la ultima columna visible para establecer el 'salto de campo', repitiendo la operacion cuantas veces sea necesario
2º) insertar tantas 'hojas virtuales' (temporales) como grupos visuales de campos se requieran
3º) organizar las hojas en mosaico
4ª) a la hora de introducir datos, detectar cuando se llegue al final de cada grupo visual de campos
para saltar al primer campo del siguiente grupo, controlando a su vez que los datos se actualizan en los campos 'reales' de la tabla original
(aunque quizas tambien podrian actualizarse al 'terminar' con el registro, pero en este caso no lo tengo muy claro)
Bueno, lo dicho, lo mismo hay una forma directa y sencilla de hacer algo parecido.
Si es asi os agradezco si lo comentais y si no la hay, agradeceria cualquier ayuda/idea/opinion para comenzar a encarrilarlo ...
Respuesta Responder a este mensaje
#3 Ivan
08/06/2009 - 00:37 | Informe spam
hola Hector, muchas gracias por las orientaciones

aunque apenas he podido meterle mano al asunto, lo poco que pude ver
ayer me hizo recordar el objeto Pane y sus propiedades, que me imagino
que +/- es el camino que me indicas

voy a seguir dandole unas vueltas y con las dudas te comento

muchas gracias de nuevo y encantado de ver que sigues con la misma
'energia' de siempre 8-)

un saludo
Ivan

On 7 jun, 05:05, "Héctor Miguel"
wrote:
hola, Ivan !

1) creo que no seria lo idoneo organizar "en mosaico" las ventanas (necesarias) de tu libro, so pena de perder los campos "arreglados"
    en todo caso, la organizacion de las ventanas sera mejor pensar en que sea "horizontal"    (?)

2) para determinar cuantas columnas de tu libro "caben" en cada ventana (y crear las necesarias)
    puedes basar la busqueda en la propiedad: -> ActiveWindow.VisibleRange
    y por un bucle determinar a partir de cual "columna siguiente" se creara una nueva ventana (mismo libro)
    p.e. ActiveWindow.VisibleRange.Column + ActiveWindow.VisibleRange.Columns.Count + 1
    (claro que esta "semantica" se puede optimizar por medio de variables o bloques With...End With)

3) al crear ventanas sobre el mismo libro te ahorras la "copia/actualizacion de datos" a hojas nuevas y la busqueda de la resolucion en el pc
    ademas, puedes mantener "sincronizadas" las ventanas a traves de otra propiedad: -> ActiveWindow.ScrollRow = x
    siendo "x" la fila/linea/row "tope" en la ventana "comando"

espero que estas ideas te sea de utilidad, pero ya sabes...
si culquier dua (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __



> La idea es poder organizar visualmente en pantalla todos los campos de una tabla +/- automaticamente (pej. con un boton al efecto).
> El nº de campos podria ser variable, asi como el ancho individual de los mismos
> seria algo parecido a organizar ventanas en mosaico horizontal, pero en el que se veria en la ventana superior del mosaico
> los campos que entren visualmente en la pantalla, en la siguiente ventana los siguientes campos que quepan visualmente, y asi sucesivamente
> evidentemente existen muchos factores que pueden hacer un poco 'aberrante' el tema, empezando porque el numero de campos
> (o el ancho de estos) sea tan grande que en ningun caso sea posible visualizarlos en una misma pantalla
> ni aun dejando una sola fila de datos visible. Pero en mi caso no creo que llegue a darse este problema
> asimismo, supongo que tambien influira del ancho y/o configuracion de pantalla
> pero controlar esto al fin y al cabo seria una parte mas del ejercicio
> Todavia no he empezado a meterle mano, pero estos son algunos de los pasos que se me ocurren para empezar a mirar =>
> 1º) detectar la ultima columna visible para establecer el 'salto de campo', repitiendo la operacion cuantas veces sea necesario
> 2º) insertar tantas 'hojas virtuales' (temporales) como grupos visuales de campos se requieran
> 3º) organizar las hojas en mosaico
> 4ª) a la hora de introducir datos, detectar cuando se llegue al final de cada grupo visual de campos
> para saltar al primer campo del siguiente grupo, controlando a su vez que los datos se actualizan en los campos 'reales' de la tabla original
> (aunque quizas tambien podrian actualizarse al 'terminar' con el registro, pero en este caso no lo tengo muy claro)
> Bueno, lo dicho, lo mismo hay una forma directa y sencilla de hacer algo parecido.
> Si es asi os agradezco si lo comentais y si no la hay, agradeceria cualquier ayuda/idea/opinion para comenzar a encarrilarlo ...- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
#4 Ivan
08/06/2009 - 03:04 | Informe spam
hola de nueo,

como no se si esta semana podre 'asomarme' mucho por aqui, solo
algunos comentarios =>

tras unas vueltas (y leer tu mensaje mas despacio), me da la impresion
de que mas que a 'secciones' te referias directamente a crear las
ventanas [que ademas es lo que pones, aunque yo me empeñe en
retorcerlo :-)) ] a partir de la activa con NewWindow

la verdad que no lo habia hecho nunca y esta resultando de lo mas
atractivo =>

como comentas, asi efectivamente parece que puedes trabajar sobre
cualquiera de las ventanas y estaras haciendolo sobre 'el original',
sin necesidad de 'actualizaciones'

el resto parece cuestion de ir matizandolo con las propiedades que
comentas, posiblemente unido a FreezePanes para inmovilizar los
titulos en todas las ventanas y a la utilizacion de algun evento para
pasar de ventana en ventana si se llega al final (o al inicio) de los
campos de la 'activa', mandando el foco al campo y/o registro
pertinente segun sea el caso [y evidentemente a su correspondiente
ventana 'propietaria']

uniendolo a la posibilidad de hacerlo y/o revertirlo a voluntad creo
que al menos a nivel teorico lo tengo bastante encarrilado

muchas gracias una vez mas y en cualquier caso, aparte de consultar
las dudas que me surjan, si consigo algo mas o menos aceptable lo
pongo por aqui

un saludo y hasta pronto
Ivan

On 8 jun, 00:37, Ivan wrote:
hola Hector, muchas gracias por las orientaciones

aunque apenas he podido meterle mano al asunto, lo poco que pude ver
ayer me hizo recordar el objeto Pane y sus propiedades, que me imagino
que +/- es el camino que me indicas

voy a seguir dandole unas vueltas y con las dudas te comento

muchas gracias de nuevo y encantado de ver que sigues con la misma
'energia' de siempre 8-)

un saludo
Ivan

On 7 jun, 05:05, "Héctor Miguel"
wrote:



> hola, Ivan !

> 1) creo que no seria lo idoneo organizar "en mosaico" las ventanas (necesarias) de tu libro, so pena de perder los campos "arreglados"
>     en todo caso, la organizacion de las ventanas sera mejor pensar en que sea "horizontal"    (?)

> 2) para determinar cuantas columnas de tu libro "caben" en cada ventana (y crear las necesarias)
>     puedes basar la busqueda en la propiedad: -> ActiveWindow.VisibleRange
>     y por un bucle determinar a partir de cual "columna siguiente" se creara una nueva ventana (mismo libro)
>     p.e. ActiveWindow.VisibleRange.Column + ActiveWindow.VisibleRange.Columns.Count + 1
>     (claro que esta "semantica" se puede optimizar por medio de variables o bloques With...End With)

> 3) al crear ventanas sobre el mismo libro te ahorras la "copia/actualizacion de datos" a hojas nuevas y la busqueda de la resolucion en el pc
>     ademas, puedes mantener "sincronizadas" las ventanas a traves de otra propiedad: -> ActiveWindow.ScrollRow = x
>     siendo "x" la fila/linea/row "tope" en la ventana "comando"

> espero que estas ideas te sea de utilidad, pero ya sabes...
> si culquier dua (o informacion adicional)... comentas ?
> saludos,
> hector.

> __ OP __

> > La idea es poder organizar visualmente en pantalla todos los campos de una tabla +/- automaticamente (pej. con un boton al efecto).
> > El nº de campos podria ser variable, asi como el ancho individual de los mismos
> > seria algo parecido a organizar ventanas en mosaico horizontal, pero en el que se veria en la ventana superior del mosaico
> > los campos que entren visualmente en la pantalla, en la siguiente ventana los siguientes campos que quepan visualmente, y asi sucesivamente
> > evidentemente existen muchos factores que pueden hacer un poco 'aberrante' el tema, empezando porque el numero de campos
> > (o el ancho de estos) sea tan grande que en ningun caso sea posible visualizarlos en una misma pantalla
> > ni aun dejando una sola fila de datos visible. Pero en mi caso no creo que llegue a darse este problema
> > asimismo, supongo que tambien influira del ancho y/o configuracion de pantalla
> > pero controlar esto al fin y al cabo seria una parte mas del ejercicio
> > Todavia no he empezado a meterle mano, pero estos son algunos de los pasos que se me ocurren para empezar a mirar =>
> > 1º) detectar la ultima columna visible para establecer el 'salto de campo', repitiendo la operacion cuantas veces sea necesario
> > 2º) insertar tantas 'hojas virtuales' (temporales) como grupos visuales de campos se requieran
> > 3º) organizar las hojas en mosaico
> > 4ª) a la hora de introducir datos, detectar cuando se llegue al final de cada grupo visual de campos
> > para saltar al primer campo del siguiente grupo, controlando a su vez que los datos se actualizan en los campos 'reales' de la tabla original
> > (aunque quizas tambien podrian actualizarse al 'terminar' con el registro, pero en este caso no lo tengo muy claro)
> > Bueno, lo dicho, lo mismo hay una forma directa y sencilla de hacer algo parecido.
> > Si es asi os agradezco si lo comentais y si no la hay, agradeceria cualquier ayuda/idea/opinion para comenzar a encarrilarlo ...- Ocultar texto de la cita -

> - Mostrar texto de la cita -- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
#5 Héctor Miguel
08/06/2009 - 05:48 | Informe spam
hola, Ivan !

me da la impresion de que ya has "pescado" bien la idea :))
(y que volver a leer y re-leer con detenimiento las propuestas, termina por rendir sus frutos) ;)

ya expondras tus resultados en cuanto te sea posible...
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida