¿Cómo relaciono una Clave Principal con un campo Calculado?

Estoy creando una Base de Datos de todos los inquilunos que ocupan 4 torres de Oficinas.

PORQUE IDoficina Torre Piso No. Frac.

  1.      PB1           PB    1
  2.      B4a             B     4              a
  3.      B4a             B     4               b
  4.      C71a           C     7      1      a

Ya terminada esta tabla, quiero hacer un directorio telefonico y una base de datos que me diga cuantos cajones de estacionamiento tiene cada oficina, pero todo con el IDoficina

pk?  IDoficina  Sotano Cajones  

1        PB1            1              3            

IDoficina Inquilino Telefono

1       PB1   Luis        55...

La clave única no me sirve, dado que no todos tienen cajones y algunos tienen de más.

1 respuesta

Respuesta
2

La mitad de las cosas no las entiendo. ¿El IdOficina sale de unir el resto de campos o el resto de campos sale de IdOficina? El campo, supongo que autonumérico ¿se llama Porque? Nombre raro donde los haya.

Si tengo la tabla Oficinas

Si bien, en el tercer registro tu pones B4A he supuesto que será B4B,

Si con la tabla Sotanos, que tiene los mismos campos (le he suprimido el campoque Pk ya que no le veo utilidad ninguna) que puedes ver en el formulario, donde he cambiado el idoficina por un un combinado

Con la tabla Telefonos, exactamente igual a la anterior

Ahora construyo un formulario, con combinados. Si en el primero(al que he llamado ElegirId) elijo un Idoficina

Si quiero saber el teléfono de una oficina eligiendo el IdOficina

En el caso de que elija el nombre del inquilino

Hay algo así, sin exagerar, como tres millones de posibilidades, que exagerando, no te digo. Por eso sería necesario que concretaras mucho más

Muchas gracias, el porque lo cambio el sistema, por ortografía. El porque, era el principal key. Creado automáticamente por Access, el IDoficina, lo creo de juntar los campos TORRE + PISO + Numero de Oficina + Fracción de oficina (en el caso de que las haya)

No quiero usar el autonumérico, pues al final, tendré una tabla con todos los inquilinos y existen casos donde un inquilino ocupa varios pisos e inclusive los subrenta.

No se que más información haga falta, para explicarme mejor

Vamos a ver si consigo explicarme. Hay algo que no cambia, las oficinas. Lo que si puede cambiar es el inquilino, el teléfono, las plazas de garaje que tenga cada oficina. Por tanto, lo que haría sería una tabla como la la imagen donde el campo clave sea precisamente el idoficina.

Luego haría un formulario

Donde como puedes ver no está el campo IdOficina. En el evento Después de actualizar del cuadro de texto Inquilino tengo puesto

IdOficina = Torre & "" & Piso & "" & No & "" & Frac

¿Que un inquilino tiene varias oficinas?. Para eso está o bien, Dlookup o bien Dcount. Lo mismo sirve para los teléfonos. O poner, por ejemplo, si quieres saber todos los teléfonos que tiene un inquilino que tiene varias oficinas

docmd.openform"telefonos",,,"inqulino=.....

Otra forma sería hacer un formulario único con la tabla Oficinas(un registro para cada oficina) y dos subformularios, uno para los sótanos y otro para los teléfonos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas