En una BDD tengo una tabla que se llama "agenda", donde existen campos como nombre, teléfono, móvil, e-mail, etc. Por otro lado tengo una segunda tabla denominada "encargos" con su correspondiente formulario. En este se encuentran los mismos campos que en la tabla "agenda". Quisiera que al seleccionar un nombre mediante un cuadro combinado se rellenaran automáticamente los demás campos que le correspondan: teléfono, móvil, etc.
1 Respuesta
Respuesta de daniel_ing
1
1
daniel_ing, Estudiante memorista de Ingenieria en Computacion conocimientos...
Bueno vinedo tu consulta me llamo la atención debido a que yo también estuve pensado algún método parecido par poder rellenar tablas de manera rapido, claro que la diferencia es que la relleno toda con una sola consulta pero en tu caso quieres que al elegir un dato del combobox en los otros campos se rellenen los datos de esa fila. Haber si te puedo ayudar si estas trabajando en access lo que puedes hacer es crear una consulta en vista diseño, primero tienes que seleccionar los campos a rellenar (que son todos los de tu tabla agenda) de la tabla encargos. Esta es una consulta de anexo (insertar datos) por lo que cuando hagas click ahí te preguntare a que tabla lo anexaras, luego veras que en la consulta te sale un parte que dice "anexar a" es ahí donde colocas el campo de la tabla agneda que rellenaras, luego en el campo del nombre en criterios apretás el botón derecho del mouse y colocas generar y te saldrá el generador de expresiones, en el pincha en formularios cargados y ahí dentro de ese te saldrá el formulario donde esta tu combobox haces click ahí y buscas el nombre del control (Si tu combobox se llama nombre haz click ahí) y luego de eso cierras. Se supone que antes de esta consulta tu combobox debiera obtener los valores desde el campo nombre de la tabla encargos. Luego de lo que te explique anteriormente debes guardar la consulta y ejecutar tu formulario y solo eligiendo el nombre de tu combobox debería rellenarte los demás datos de acuerdo a ese nombre. Dime que te resulta, es una idea que se me ocurre espero que lo hayas entendido
Antes de nada Daniel, agradecerte el que hayas contestado a mi duda. Ahora comentarte que siguiendo tus instrucciones, lo que me crea es un registro nuevo en la tabla de encargos. Pero no es eso lo que deseo, me debí explicar incorrectamente al plantear la duda. Yo trabajo en los formularios y lo que deseo, es que cuando voy a crear un registro nuevo desde el formulario de encargos, al seleccionar desde un cuadro combinado llamado "nombre", cuyo origen de control está en la tabla "agenda" me rellene los cuadros de texto: "telefono", "fax", "e-mail", correspondientes a esa persona, los cuales debe de extraerlos igualmente de la tabla "agenda" que es donde están guardados. Muchísimas gracias por anticipado.
mmmm ya veo q es un poco mas complejo lo que tienes que hacer, haber tendrias que crear una consulta de anexo de datos de la siguiente forma en sql la consulta tendria q tener la siguiente estructura,seria algo asi insert into Agenda(nombre,telefono, mail) select nombre, telefono, mail from Encargo where nombre = [Formulario]¡[Combobox nombre] (la sitaxis no se si esta correcta en esta parte pero es mas o menos un ejemplo) Se supone que agenda y encargos tienen los mismo campos, ademas cuando uno rellena datos no puedes seleccionar solo el dato de la tabla que va a ser rellenada, tienes que seleccionar el campo nombre de encargo ya que esa sera tu condición para rellenar agenda y ahí te rellenara los campos de agenda, si observas la consulta no tienes como llamar al nombre de agenda, pues se supone que no lo has anexado. te recomiendo que dentro de ese formulario crea un bton que diga "ver datos ingresados a la agenda" y luego ese boton abrira otro formulario el cual haces un combobox y los cuadros de texto, y luego haces una consulta de seleccion de datos que seria select nombre, telefono,mail,etc.. from agenda where nombre = [formulario datos anexados]¡[combobox nombre] Entonces cuando escojas el nombre te mostrara los datos de acuerdo al nombre y en los cuadros de texto coloca en propiedades que los datos lo obtenga desde los campos teléfono, mail, etc de la tabla agenda (se coloca con el botón derecho propiedades y en datos colocas origen del registro y seleccionas el campo correspondiente que se mostrara), entonces, te mostrara en tus cuadros de texto esa información. Ahora si la idea tuya era que mostrara el nombre de encargo y en los cuadros de texto mostrara los otros datos y que eso recién los rellenes a a la tabla agenda, entonces ahí solamente tendrías que hacer consulta de selección como te escribí allá arriba pero de la tabla encargo (la consulta le ejecuta el combobox) y crear un botón que al presionarlo ejecute la consulta de anexo de datos Bueno espero que mi idea sea de utilidad y ver si te haya entendido bien o no por que alo mejor fuiste claro y yo no entendí bien la idea
Recuerda de finlaizar la pregunta si no tienes más dudas
Daniel muchas gracias por tu tiempo. Al final lo he resuelto con un subformulario que se abre en el formulario encargos, mostrando los datos que necesitaba de la agenda, en función del cuadro combinado que se llamaba nombre.