Problema combobox: campos de formulario en blanco
Hola a todos, a ver si algún sabio puede ayudarme con un problema que, como novato, me trae de cabeza...
Estoy preparando una base de datos con access 2007, bastante grande, pero compuesta de momento con poco más que tablas y formularios.
Para evitar que pueda ser modificada involuntariamente le preparé además dos botones de comando: "agregar registro" y "editar registro" donde a través de código VBA controlo las variables que hacen editable un campo, algunos parámetros de formato y demás. También preparé un botón "guardar cambios" con una macro que, en esencia, lo que hace es abrir y cerrar un formulario para guardar los datos.
El caso es que en un momento dado quería incluir el clásico combobox de comunidad autonoma, provincia y población (ya sabéis: que una vez seleccionada la comunidad el combobox solo me deje seleccionar los registros de provincia pertenecientes a ella, y de modo similar para el caso de municipios y provincia). Lo hice ha través de consultas SQL con los origenes de fila correspondiente y un poco de VBA (un Me.PROVINCIA.Requery en un COMUNIDAD_AUTONOMA_AfterUpdate())
En principio, funcionó bien. No obstante observé que, aunque guardaba los nuevos registro y modificaciones en la tabla correspondiente, al abrirse de nuevo el formulario no aparecen datos en él: Si por ejemplo he puesto la comunidad autónoma de Andalucia, la provincia de Huelva y el Municipio de Rio Tinto, al abrir de nuevo estos campos y al ir al registro correspondiente aparecen en blanco, en el formulario, el campo provincia y el campo municipio (en la tabla sin embargo sí han sido registrados).
Pensando que estaba entrando en conflicto con algo he probado a hacerlo todo lo sencillo que he podido: he probado a anular el resto del código VBA, he habilitado todas las variables tipo agregar y edición de registro (para comprobar que no era por algo de eso), he abierto y cerrado sin utilizar la macro e incluso he tratado de simplificar el problema deshabilitando el combobox de los municipios.
El resultado ha sido nulo. Sigue haciendo lo mismo.
En principio pensé que podía deberse a la propia naturaleza del combobox (hasta que no seleccionas la comunidad no detecta el origen del registro para obtener las provincias) pero algo más falla porque cuando intentas volver a seleccionar la provincia teniendo previamente definida la comunidad (nada más abrir el formulario) aparece el un registro anomalo (que no se corresponde con la comunidad definida) en el combobox de la provincia, teniéndo que volver a seleccionar la comunidad para que vuelva a funcionar el combobox. Muy raro.
En definitiva, estoy en un callejón sin salida y no se que hacer: a) Investigar para hacer el combobox a través de VBA (ni siquiera sé si es posible). B) preparar un formulario aparte con un subformulario que me de acceso a los datos de la tabla (chapuza aún más gorda que las que ya tengo). C) Abandonar la idea del combobox (que ahora mismo me parece de lo más sensato).
Así pues, cualquier ayuda o consejo que me podais prestar os la agradeceré enormemente.
Estoy preparando una base de datos con access 2007, bastante grande, pero compuesta de momento con poco más que tablas y formularios.
Para evitar que pueda ser modificada involuntariamente le preparé además dos botones de comando: "agregar registro" y "editar registro" donde a través de código VBA controlo las variables que hacen editable un campo, algunos parámetros de formato y demás. También preparé un botón "guardar cambios" con una macro que, en esencia, lo que hace es abrir y cerrar un formulario para guardar los datos.
El caso es que en un momento dado quería incluir el clásico combobox de comunidad autonoma, provincia y población (ya sabéis: que una vez seleccionada la comunidad el combobox solo me deje seleccionar los registros de provincia pertenecientes a ella, y de modo similar para el caso de municipios y provincia). Lo hice ha través de consultas SQL con los origenes de fila correspondiente y un poco de VBA (un Me.PROVINCIA.Requery en un COMUNIDAD_AUTONOMA_AfterUpdate())
En principio, funcionó bien. No obstante observé que, aunque guardaba los nuevos registro y modificaciones en la tabla correspondiente, al abrirse de nuevo el formulario no aparecen datos en él: Si por ejemplo he puesto la comunidad autónoma de Andalucia, la provincia de Huelva y el Municipio de Rio Tinto, al abrir de nuevo estos campos y al ir al registro correspondiente aparecen en blanco, en el formulario, el campo provincia y el campo municipio (en la tabla sin embargo sí han sido registrados).
Pensando que estaba entrando en conflicto con algo he probado a hacerlo todo lo sencillo que he podido: he probado a anular el resto del código VBA, he habilitado todas las variables tipo agregar y edición de registro (para comprobar que no era por algo de eso), he abierto y cerrado sin utilizar la macro e incluso he tratado de simplificar el problema deshabilitando el combobox de los municipios.
El resultado ha sido nulo. Sigue haciendo lo mismo.
En principio pensé que podía deberse a la propia naturaleza del combobox (hasta que no seleccionas la comunidad no detecta el origen del registro para obtener las provincias) pero algo más falla porque cuando intentas volver a seleccionar la provincia teniendo previamente definida la comunidad (nada más abrir el formulario) aparece el un registro anomalo (que no se corresponde con la comunidad definida) en el combobox de la provincia, teniéndo que volver a seleccionar la comunidad para que vuelva a funcionar el combobox. Muy raro.
En definitiva, estoy en un callejón sin salida y no se que hacer: a) Investigar para hacer el combobox a través de VBA (ni siquiera sé si es posible). B) preparar un formulario aparte con un subformulario que me de acceso a los datos de la tabla (chapuza aún más gorda que las que ya tengo). C) Abandonar la idea del combobox (que ahora mismo me parece de lo más sensato).
Así pues, cualquier ayuda o consejo que me podais prestar os la agradeceré enormemente.