Formulario campos

Quiero que me ayuden con una duda que tengo. Es lo siguiente:
Tengo un formulario que hice con una tabla necesito que con un dato que se anexe en un campo de ese formulario me traiga información de otra tabla. Lo más fácil es hacer una consulta con esas dos tablas y hacer el enlace para elaborar el formulario y listo. Pero lo que quiero hacer no lo quiero con una consulta sino de la manera que les explico. Con un dato de ese formulario me traiga información de otra tabla se que se puede hacer pero no lo se, si me pueden ayudar se lo agradezco.

1 respuesta

Respuesta
1
Según lo preguntas, en parte, estás dando la solución. Te explico:
Imagina que tienes una Tabla llamada TZonas y otra llamada TPaises con esta estructura:
Tzonas tpaises
CodZona CodPais
Zona País
                                 Zona (Relacionado con la tabla TZONAS)
Ahora haces un formulario a partir nuevo creando un cuadro combinado denominado CBZONAS y agregas un cuadro de lista denominado LSTPAISES que tendrá como origen de la fila ...

Agrega la taba TPAISES y selecciona los tres campos, en criterios de zona pones:
forms![nombreformulario]![nombrecontrol]
Sustituye nombreformulario por el nombre del formulario que acabas de crear y nombrecontrol por LSTPAISES. Cierra la consulta botón POR dile que quieres actualizar la propiedad y continuamos, mira en las siguientes propiedades del cuadro de lista y coloca los valores:
Nº Columnas: 3 Ancho Columnas: 0cm;3cm;0cm Columna Dependiente: 1 Ancho de la lista: 3,5cm
Como origien de la fila del cuadro combinado CBZONAS ... selecciona TZonas y seleccionas los dos campos. Las propiedades esta vez serán:
Nº Columnas: 2 Ancho Columnas: 0cm;3cm; Columna Dependiente: 1 Ancho de la lista: 3,5cm
Por último, aunque no lo has preguntado, te explico como actualizar el valor que muestra el cuadro de lista cuando cambies el valor de CBZONAS: Coloca un procedimiento de evento en CBZONAS Al Actualizar y entre Private Sub y End Sub pones:
Me. LSTPAISES. Requery
Ok, perfecto con esto me ayuda en otra cosa que tenia pendienteamigo pero sigo con la duda, te vuelvo a explicar a ver.
Tengo dos tablas con los siguientes campos: EMPLEADOS MOVIMIENTOS
                                                                         Codigo_Emp        Codigo_Emp
                                                                          Nombres permisos
                                                                          Apellidos observación
Y otros campos más pero para no detallar.
   Ok. Las tablas están relacionada por el código tengo un formulario con los campos de la tabla movimientos, quiero que al colocar en el formulario los datos del código me traiga en un cuadro texto el valor del nombre de la tabla de empleados en el mismo formulario, pero en un cuadro texto, no en un combo ni en cuadro lista, es posible hacer esto! No tengo un nivel alto de access pero conozco algo... si hago una consulta donde relacione las dos tablas y crearía el formulario y listo... pero no quiero hacerlo de esa manera, si se puede hacer lo que te planteo... saludos, y gracias de antemano. Disculpa la insistencia.
Ahora entiendo tu pregunta, utilizaré una función de agregado de dominio (DBúsq) para solucionar tu problema, te explico el funcionamiento:
=Funcion("campo";"tabla";"expresion para filtrar datos")
Siguiendo tu ejemplo "buscaré" el nombre y lo colocaré en un cuadro de texto.
Imagina que tienes un formulario llamado FRM_MOVIMIENTOS con los mismos campos que la tabla MOVIMIENTOS, coloca al lado de Codigo_Emp, un cuadro de texto que llamarás (pon un nombre que recuerdes) TXTNOMBRE y que tendrá como VALOR PREDETERMINADO:
=DBúsq("nombres";"EMPLEADOS";"[Codigo_Emp]=Forms![FRM_MOVIMIENTOS]![Codigo_Emp]")
Observa que he colocado [] en Codigo_Emp y FRM_MOVIMIENTOS, es obligatorio ya que lleva un guión bajo tanto el nombre del campo como el nombre del formulario, igualmente deberías colocarlos si llevara algún espacio.
Te hago la misma observación que en el anterior post, ¿qué ocurre cuando cambie el valor que tiene el Codigo_Emp?, tendrás que poner un procedimiento de evento que actualice TXTNOMBRE (por eso poner un nombre que se recuerde fácilmente)
Super! Estupendo... ahora si trae la información pero tengo el problema sobre la observación que me indicas de la actualización, no me actualiza los datos. Puede ser que este haciendo algo mal, te indico lo que hice: al cuadro texto le puse el nombre como me indicaste: txtnombre, en el campo donde coloco el cod_emp en el evento al cambiar coloque lo siguiente: Me.txtnombre.Requery Pero no me actualiza me trae solo el nombre del primer código que sale en el formulario. Ayudame con esto que debe ser algo sencillo y disculpa tantas molestias, saludos
Perdón, falta un pequeño detalle y es que debes decirle (¡Que torpe este access verdad!) Que cada vez que cambie el registro (no te asustes) debe cambiar el dato que tiene ese cuadro de texto, como se hace:
En el procedimiento del formulario Al Activar Registro pones:
Me.txtnombre.Requery
Con esto das por solucionado tu problema
De nuevo te pido disculpas por la metedura de pata.
no... sigue igual... no lo cambia!
Creo que el problema está en el valor predeterminado del control, culpa mía, para controles independientes ponle como origen del control la expresesión anterior y haz que se actualice cuando cambie el valor que tiene Codigo_Empleado y cuando cambie de registro.
Hola! Experto disculpa la demora pero se me presento un problema y no pude continuar con este trabajo, ahora que lo retome hice las pruebas como me indicas en lo ultimo y ahora si todo funciona a la perfección un gran saludos de agradecimiento por toda tu excelente colaboración, no te mereces los 5 puntos sino 10 gracias..!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas