Home Foros Foro dudas Foro de Access Ayuda con creación de herramienta con Access Respuesta a: Ayuda con creación de herramienta con Access

Respuesta a: Ayuda con creación de herramienta con Access

Home Foros Foro dudas Foro de Access Ayuda con creación de herramienta con Access Respuesta a: Ayuda con creación de herramienta con Access

#10011

Lo que necesitas es un sql builder que te ayudara en entender mejor las relaciones entre las tablas

Te dejo una sql entre tres tablas

Estructura tablas:

Tabla1 : idtabla1(primary key) -> autonumber, campo_tbl1 -> texto

Tabla2: idtabla2(primary key) -> autonumber, iddetbl1 -> number (para poder relacionar tbl1 con tbl2), campotbl2 -> text

Tabla3: idtabla3(primary key) ->autonumber, idedetbl2-> number(para poder relacionar tbl2 con tbl3), campotbl3->text

Para relacionar la tabla1 con la tabla2 he creado un id primary key (autonumber) en tabla1 y luego en tabla2 un campo te tipo numerico (porque el id de la tabla1 es numerico). Esto hace que puedes crear una relación entre tabla1 con tabla2 . uno a varios. Lo mismo entre tabla2 con tabla3

Resumen tabla1 con tabla2 se relaciona uno a varios a traves del campo id y idedetabla1

y la tabla 2 con la tabla3 se relaciona uno a varios a traves del campo idtabla2(autonumber primary key) con iddetabla2 (number)

Para visualizar los otros campos (tabla1.campo_tbl1, tabla2.campotbl2, tabla3.campotbl3 – aqui lo puedes cambiar por los campos que necesitas ver) utiliza SELECT <los campos separados por coma> (El comando seria SELECT campos FROM <>;

Primero decimos que campos queremos seleccionar:

SELECT tabla1.campo_tbl1, tabla2.campotbl2, tabla3.campotbl3

ahora lo unico que tienes que hacer es relacionar los 3 id de esta forma :

tabla1 se relaciona con tabla 2 por el campo idtabla1 con iddetabla2 entonces debes indicar como se relacionan las primeras 2 tablas

<primera tabla> INNER JOIN <segunda tabla> ON <los campos que las relacionan> (tabla1 INNER JOIN tabla2 ON tabla1.[Idtabla1] = tabla2.[iddetbl1]) . ahora queda es relacionar la tercera tabla

(<primara relacion INNER JOIN>) INNER JOIN <ultima tabla> ON <campos de unión entre la tercera tabla con la segunda tabla>

(<el INNER JOIN de antes>) INNER JOIN tabla3 ON tabla2.[Idtabla2] = tabla3.[iddetbl2];

Vamos a construir el SQL : SELECT campos FROM <>;

SELECT tabla1.campo_tbl1, tabla2.campotbl2, tabla3.campotbl3

FROM (tabla1 INNER JOIN tabla2 ON tabla1.[Idtabla1] = tabla2.[iddetbl1]) INNER JOIN tabla3 ON tabla2.[Idtabla2] = tabla3.[iddetbl2]

;

Espero que te ayude si no escribeme. Un saludo,