Dos cuadros de texto combinados con varias tablas.

A ver si alguien me puede echar una mano pues estoy atascado desde hace varios días con esto.
Tengo 4 Tablas.
En una de ellas, "Tabla_Tipo_Inmueble", están los registros de tipos de inmuebles, como pueden ser: Casa, Piso, Chalet, Local, Unifamiliar.
Y en las otras 3 tablas restantes, Referencias para cada tipo de inmueble. Por ejemplo, en una tabla están los registros: Casa0001, Casa0002, Casa0003 y así sucesivamente en cada tabla con sus respetivas referencias.
Lo que quiero hacer es, que a partir del primer Combo, al seleccionar un tipo de inmueble, en el segundo Combo, que se cargue los registros de la Tabla correspondiente según corresponda.
Sería inviable unir todas las referencias en una misma tabla, ya que cada una puede albergar del orden de 8.000 registros. Por eso es tenerlas en tablas separadas.
No estoy muy ducho en VBA, pero algo lo toco.

2 respuestas

Respuesta
1

Rafael: Comenzamos por el final. 25000 o 30000 Registros, no son muchos para una Tabla quedando la cuestión supeditada al Numero de Campos que tengas por Tabla.

Por poner un Ejemplo sin que ello se exacto: Si son más de 50 Campos y también dependiendo del tipo de Datos que contenga puede ser un poco lenta.

Yo con esos datos que comentas haría una sola Tabla.

Para lo primero supongamos que tu primer Combo se llama CboTipoInmueble y el Segundo CboDetalle y tus Tablas>> TblCasa, TblPisos, TblChalets, TblLocales, TblUniFamiliares

En evento AfterUpdate del CboTipoInMueble le pones algo así:

Me.CboDetalle.RowSource = ""

Select Case Me.CboTipoInmueble.Value

Case "Casa"

Me.CboDetalle.RowSource = "SELECT CampoA,CamopoB FROM TblCasas GROUP BY UnCampo;"

Case "Piso"

......la Tabla de pisos

Etc

Case Else

End Select

Espero que con ésto completes el resto. Saludos >> Jacinto

Respuesta
1

Todo depende de como tengas relacionadas la tablas, cual sea el origen de datos de cada cuadro combinado, etc., Vamos a suponer que la tabla Inmuebles tiene Idinmueble(clave autonumerico), TipoInmueble... La tabla ReferenciaA tiene los campos Idinmueble(numérico), Idtipocasa(clave autonumérico), TipoCasa, en una relación uno a varios entre Idinmueble, es decir 1 inmueble varias referencias1(casa1, casa2, casa3, etc,). Vamos a suponer que dentro de cada tipo de casa, hay, por ejemplo tipoHabitaciones. Pues creamos otra tabla ReferenciaB, con los campos IdTipocasa(numérico), relacionado con el IdTipocasa de la tabla ReferenciaA(en uno a varios), Idhabitación(clave y autonumerico), Tipohabitación, y así sucesivamente.

En el formulario, si el primer combinado lo haces con el asistente, te guardará el Idinmueble de la tabla Inmueble pero te mostrará la columna que hayas elegido, TipoInmueble. Por tanto si en sus Propiedades-Eventos-Después de actualizar creas un procedimiento de evento y entre Private Sub y End Sub escribes

Nonbredel segundo combinado.rowsource="select * from referenciaA where idinmueble=forms!nombredelformulario!nombredelprimercombinado.

Y en sus Propiedades-eventos-Después de actualizar, lo mismo escribiendo

Nombredeltercercombinado.rowsource="select * from referenciaB where IdTipoCasa=forms!nombredelformulario!nombredelsegundocombinado

Yasí, hasta donde quieras

Si los cuadros combinados tiene Origen del control, te guardara los valores.

Por el espacio, no te preocupes, yo trabajo con una base que tiene 270.000 registros y muchos, pero que muchos campos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas