Imprimir página | Cerrar ventana

Datos de cuadro combinado que no son correctos

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86462
Fecha de impresión: 19/Abril/2024 a las 05:14


Tema: Datos de cuadro combinado que no son correctos
Publicado por: letoy
Asunto: Datos de cuadro combinado que no son correctos
Fecha de publicación: 14/Septiembre/2022 a las 10:40

Hola buenas. El problema es que los datos que se muestran en un cuadro combinado no son correctos.  Me explico:

Objeto: En el formulario debe de aparecer un campo ciudad y otro poblaciones (algo sencillo)

Que he hecho:

PRIMERO: He creado dos tablas una para ciudades y otra para poblaciones donde los campos son “idciudad, nombreciudad” y en la otra “idpoblaciones”, “idciudad” (para relacionarlas), “nombredepoblación”

SEGUNDO: Creo un formulario con dos cuadros combinados:

Nombre de ciudad: Donde el control será el campo 1, y el de la lista el campo 2, y creo un evento donde al actualizar este campo ejecute “Me.idciudad.Requery” para que cargue el valor para el siguiente paso, y “Me.idpoblaciones.Requery” para si hay algún valor en el siguiente paso lo actualice. (esto ultimo lo he quitado por si era lo que causaba el problema)

Nombre de población: Donde el control será el campo 1, y para los valores de la lista creo una consulta donde dependiendo del valor de “idciudad” del paso anterior, aparecerán unas determinadas poblaciones.

Hasta aquí todo correcto, los valores aparecen bien en las tablas y en el formulario, pero aquí empiezan los problemas:

Cuando creo un nuevo registro los valores en el formulario del campo “idpoblacion” del registro anterior desaparecen, no muestra el valor introducido en el cuadro combinado. Consulto la tabla de ese formulario y los datos están correctamente guardados. Cierro el formulario y vuelvo a abrirlo y sigue sin mostrarlos.

¿Qué puede estar pasando? Llevo varios días con este tema y no se cual es la solución de un tema que parece ser sencillo.

Podríais ayudarme, si necesitáis alguna aclaración estaría encantado pues ya no se que hacer.

Gracias.




Respuestas:
Publicado por: xavi
Fecha de publicación: 14/Septiembre/2022 a las 11:05
Hola,

El problema que expones tiene distintas soluciones en función de si hablamos de un formulario SIMPLE o un formulario CONTINUO.

Para un formulario SIMPLE es tan "simple" como forzar los Requery en el evento Current del formulario de manera que se actualicen en cada nuevo registro.

Para un formulario continuo el tema es bastante más complicado. En los formularios de ese tipo solo disponemos de un control que visualizamos tantas veces como líneas tengamos en pantalla. Al cambiar el origen de la fila (mediante el requery) este se aplica a todas las visualizaciones.
Para ese problema el maestro Marius nos ofreció hace tiempo este ejemplo:  http://www.mvp-access.es/marius/ejemplos/AWForms.zip" rel="nofollow - http://www.mvp-access.es/marius/ejemplos/AWForms.zip

Un saludo




-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: letoy
Fecha de publicación: 14/Septiembre/2022 a las 12:58
Te doy las gracias por tu contestación

Como tu bien dices en formularios simples ha sido fácil, (gracias a lo que me has comentado)

Pero en continuos no soy capaz de averiguar como lo hace Marius, lo he probado de diferentes formas que creo que son las que apunta pero no funciona.

El problema también es que llevo varios años sin entrar en access y además no soy muy entendido.

Si pudieras explicármelo con un poco de más detalle te lo agradecería enormemente. 
Gracias por tu interés.



Publicado por: xavi
Fecha de publicación: 14/Septiembre/2022 a las 13:08
No puedo darte más información. Siempre que he podido he huido de esos cuadros combinados en cascada en formularios continuos. Se que Marius lo hace y que yo lo conseguí replicar en su momento pero de eso hace ya bastante tiempo. Cuando me vuelva a ver con la necesidad, volveré a pelearme con el ejemplo.

A ver si alguien que lo tenga más por mano te puede echar una mano.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: letoy
Fecha de publicación: 14/Septiembre/2022 a las 13:44
Muchísimas gracias Xavi, a ver si hay algún alma caritativa por ahí, jejeje


Publicado por: emiliove
Fecha de publicación: 14/Septiembre/2022 a las 14:30
Tengo este explicado: http://emilioverastegui.blogspot.com/2014/08/combos-en-cascada-en-un-formulario.html" rel="nofollow - Blog de Access: Combos en cascada en un Formulario Continuo (primera parte) (emilioverastegui.blogspot.com)

Y también ahí la parte dos, saludos.


Publicado por: letoy
Fecha de publicación: 14/Septiembre/2022 a las 18:46
Muchas gracias por tu interés y por la información que me has pasado. 
He probado el ejemplo y funciona, pero no se si estoy haciendo algo mal porque me pasa lo siguiente: 

PRIMERO: Cuando voy a consultar la tabla y modifico el valor de MODELO, sigue manteniendo el antiguo valor que tenía COLOR, debería de ponerlo en null a la espera de que se le asigne otro valor, para que no haya errores. 

SEGUNDO: Si cierro el formulario, cuando lo abro de nuevo los valores de COLOR estan todos en blanco.

No se si me podrías ayudar en ver lo que falta para dejarlo correcto, te lo agradecería mucho.

Muchas gracias.


Publicado por: pitxiku
Fecha de publicación: 14/Septiembre/2022 a las 20:41
Lo que hace Marius es bastante sencillo (una vez lo entiendes): tiene el cuadro combinado oculto debajo de un cuadro de texto. Tú no ves el cuadro combinado, ves el cuadro de texto, que está enlazado al campo de la tabla que deseas ver si fuese el cuadro combinado. Y cuando el cuadro de texto recibe el foco, lo manda al cuadro combinado para poder usar la lista.


Publicado por: letoy
Fecha de publicación: 20/Septiembre/2022 a las 14:23
Hola buenas, 

No acabo de entender como hace el proceso Marius y no me funciona. 

La aportación de Emilio es buena, pero falla en lo que le he comentado que no se como subsanar, por lo que si alguien quiere hacer una nueva aportación le estaría eternamente agradecido, pues la base de datos que estoy haciendo sin esta relación de combos no tiene mucho sentido.
 
Muchas gracias.


Publicado por: pitxiku
Fecha de publicación: 21/Septiembre/2022 a las 20:08
Más o menos, un pequeño ejemplo basado en la base de datos de Marius (el mío se puede mejorar bastante):

- https://1drv.ms/u/s!AsYMk9OS3HACy2pctSPLyvMZNpek?e=SlVVE9


Publicado por: letoy
Fecha de publicación: 23/Septiembre/2022 a las 09:50
Hola buenos días.
Estoy de viaje, y no lo voy a poder probar ahora.
Cuando le tenga te comento.
Un saludo y muchas gracias por tu interés.



Imprimir página | Cerrar ventana