Actualizar datos

Buenos días!
Mi pregunta es la siguiente. Tengo una bd en access y un formulario con dos cuadros combinados. En uno de ellos están las poblaciones de españa y en otro unos edificios que se encuentran en las capitales de provincia. Lo que quiero que suceda es que cuando elija un edificio solo se puedan seleccionar las poblaciones de la provincia donde está ese edificio. Eso me lo hace la primera vez (lo hago en datos del cuadro de poblaciones con un SELECT) pero cuando modifico el edificio se queda con las mismas poblaciones y no te deja cambiarlo. Lo que quería hacer es que cada vez que cambie un edificio me mostrase las poblaciones de dichas provincias.
El select es de la siguiente manera (los edificios se llaman como las provincias y se recogen en el cuadro combinado 2)
SELECT POBLACIONES.POBLACION FROM POBLACIONES WHERE (((POBLACIONES.PROVINCIA)=[Formularios]![form1]![Cuadro combinado2]));
Mil gracias

1 Respuesta

Respuesta
1
De primeras me ha despistado tu pregunta por varias aplicaciones que he hecho relacionadas con inmuebles, un edificio sólo puede estar en una ciudad.
Supongo que tu caso puede ser por ejemplo oficinas bancarias o concesionarios de vehículos, en el sentido de que una vez que selecciono el banco correspondiente en el primer desplegable, en el segundo me aparecen las ciudades en las que puedo encontrar sucursales de este banco, ¿es así?. Voy a contestarte a este caso, que espero que sea similar al tuyo.
En un formulario pones dos desplegables o combos
- En el primer combo (entidades bancarias) le das el origen de datos de los bancos, en el ejemplo de código le voy a llamar cmbBancos
- En el segundo combo las ciudades donde hay sucursales de este banco, le voy a llamar cmbCiudades
Lo que hay que hacer es que al actualizar el primero de actualicen también los valores del segundo.
Esto has de hacerlo mediante el evento después de actualizar del primer combo (puedes usar otros, al cambiar, al perder el foco, pero te recomiendo después de actualizar)
El código que hay que incluir aquí es crear la consulta para el segundo combo, tomando el valor del primero como criterio de selección y aplicárselo al segundo combo.
Dim strSQL as string
strSQL = "SELECT Ciudad FROM Ciudades WHERE Banco = ' " & me.cmbBancos & " ' ;"
me.cmdCiudades.rowsource=strSQL
Y ya está
Tendrás que adaptar la consulta que he escirto a tus tablas, fíjate donde el criterio de la cláusula WHERE cambia cada vez que se actualiza el desplegable del edificio, con lo que cambia la consulta para alimentar el segundo desplegable.
Habrás de tener cuidado con alguna cosas como estas que te pueden surgir al adaptarlo a tu caso
- Si utilizas texto, no podrás usar la doble comilla " en la cadena de texto del SQL, usa la comilla simple '
- Si tienes Id's y en el desplegable usas además del id el texto de algún otro campo, has de tener en cuenta que me. CmbBancos. Value te da el valor del Id, y me. CmbBanco.Text el primer campo que estás mostrando (no cuentan los de ancho 0 cm)
- La consulta strSQL tendrás que hacerla contra la tabla donde tengas la ciudad en la que está cada edificio, de manera que en tu caso es un select ciudad, ... where edificio = ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas