Formulario con consultas

4 envíos / 0 nuevos
Último envío
Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Formulario con consultas

Hola

 

Tengo unas tablas que están relacionadas, de manera que tengo un campo id que es un contador automático, y detrás tengo los datos de personas o empresas.

 

Para ir a un ejemplo concreto. En una tabla tengo un listado de empresas. Son varios campos: id, empres, y varios campos con datos de contacto.

En otra tabla tengo datos de personas que pertenecen a estas empresas. Los campos son id, nombre, apellidos, teléfono, correo electrónico.

 

En una tercera tabla tengo una serie de campos relacionados con trabajos que hacemos con estas empresas. Entre todos los campos, uno es id empresa, y se corresponde con el campo id de la tabla de empresas. Otro es id persona, que se corresponde con el campo id de la lista de personas.

 

En el formulario que me he hecho, tengo un combo para que al añadir o modificar datos, siempre tome los datos correctos de las tablas de empresas y de personas. Sé hacer que salga el número correspondiente al contador, que se almacena correctamente, pero quiero hacerlo "user friendly", es decir, que en el combo me aparezca el nombre de la empresa, y que en el campo correspondiente guarde el id de la empresa. Lo mismo con las personas de contacto, solo que complicándolo un poco. Quiero que se vean los apellidos, una coma y el nombre (que están en dos campos separados en su tabla correspondiente), y que seleccione la id que le toca a la persona que se seleccione.

 

¿Cómo se puede hacer esto?

 

Muchas gracias

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 21 horas 28 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Formulario con consultas

Vamos por partes.

Para que el combo muestre el nombre de la empresa pero en realidad trabaje con el ID necesitas que tu combo tenga dos columnas.

La consulta de origen de tu combo deberá incluir esos datos, por ejemplo podría ser algo así

Select ID, nombre from tablaempresas

 

Luego, debes ajustar las propiedades de cuadro combinado para decirle que tiene 2 columnas.

Utiliza las propiedades Número de columnas y Ancho de columnas

ajustando las columnas de un combo

Si no quieres que no se vea el ID, en el ancho de las columnas dile que la primera columna tiene ancho cero.

 

Para decirle en qué columna está el dato del que toma el valor, utiliza la propiedad Columna Dependiente. en este caso la columan dependiente es la 1, porque el ID es el primer campo que tenemos en nuestra consulta.

columna dependiente de la que toma el valor el combo

 

Para mostrar "apellidos, nombre" defínelo en la consulta de origen del control, Origen de la fila

podría ser algo así:

Select ID, apellidos & ", " & nombre as nombrecompleto from tablapersonas

 

------
Ya sé Excel, pero necesito más.

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Formulario con consultas

Muchas gracias.

Probaré y te iré diciendo, porque estoy algo oxidado de SQL para Access ;)

 

 

Saludos

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Formulario con consultas

Bueno, no sé cómo atacarlo.

 

Pongo un ejemplo para que quede claro.

 

En la tabla de tareas, tengo una tarea asignada al número 5. En la tabla hay un campo que se llama "AsignadoA" en el que hay números.

Estos números se corresponden con el contador automático que hay en el primer campo de la tabla de Personal.

Si entras en la tabla de personal, buscas el 5 y te da un nombre, por ejemplo "Juan Fernández"

 

Yo quiero que, al ir moviéndome por los registros, el control sepa que cada vez que encuentra el número 5, en vez de presentar ese número, diga "Juan Fernández".

 

Entiendo que debo definir una consulta, y luego presntarla en el combo como me dices, pero no sé cómo hacerlo o si tengo que actualizarla cada vez que me muevo de registro en la primera tabla o qué.

 

Entiendo que tengo que poner la condición en la consulta de que el valor del campo id sea el que aparece en el registro actual del campo "AsignadoA", pero no sé cómo hacerlo.

 

Saludos