icarocu | |
| 2008-11-25 22:33 - Respuestas: 2 - Tema nº: 2556710
Características: Windows XP Home pentium IV.
Hola a todos
Tengo una tabla con los siguientes campos
Id Partida Activo
1 Blanco AAA
2 Negro BBB
3 Negro CCC
4 Negro DDD
5 Azul EEE
6 Azul FFF
7 Azul GGG
8 Amarillo HHH
9 Amarillo IIII
La base es mas extensa, pero es el concepto base de cómo está construida..
Lo que quiero es alimentar OTRA tabla, en base a un formulario… en donde al seleccionar en el formulario un valor del campo “Activo” mediante un cuadro combinado (listado), me arroje automáticamente (en un cuadro de texto) la “Partida” asociada… es decir.. si selecciono por ejemplo “AAA”, me entregue el valor “Blanco”, y que este valor quede inserto en el la columna “XXX” de la otra tabla que estoy alimentando.
Se puede hacer esto ¡?!?
Gracias a todos.-
| |
|
|
Bambita | |
|
Re: Access : obtener valor - 2008-11-28 08:59 - Respuesta 2
Hola! Claro que se puede! Lo que deberias hacer es
1. Crear el formulario desde la tabla que queres alimentar
2. Crear en ese formulario un cuadro combinado con las columas ID y ACTIVO
3. Agregarle a ese cuadro combinado una accion que se ejecute en cualquiera de estos momentos: "Al perder el enfoque", "Al salir", "Al cambiar", "Despues de Actualizar"... (recomiendo uno de los dos primeros). Cuando se abra la ventana de Visual deberias agregar un condicional para evaluar si el campo esta lleno, en caso positivo un DLookup que busque el ID de la seleccion en la tabla y complete el campo de texto con su Partida equivalente. Por ejemplo.
miForm = Formulario donde se realiza la carga
miTabla1 = Tabla que contiene los datos
miTabla2 = Tabla donde se guardan los datos
miCuadro = Control cuadro combinado cuyo "Origen de Fila" debe ser miTabla1 y su "Columna dependiente" debe ser la del ID
miTexto = Control con el dato que se actualiza segun la seleccion, cuyo "Origen del Control" debe ser un campo de miTabla2 donde se almacene el dato.
creas el miCuadro, le das nombre, clic derecho del mouse, opcion Propiedades, hoja Eventos, opcion Al perder el enfoque (por ejemplo), procedimiento de evento:
If Len(Me.miCuadro)>0 Then
Me.miTexto.value = DLookup("[Partida]", "miTabla1", "[ID]=Forms!miForm!miCuadro")
End If
Espero que te sirva. Avisame.
Bam. | |
|
|
Bambita | |
|
Re: Access : obtener valor - 2008-11-28 09:00 - Respuesta 3
Perdon, la sentencia completa deberia ser:
If Len(Me.miCuadro)>0 Then
Me.miTexto.value = DLookup("[Partida]", "miTabla1", "[ID]=Forms!miForm!miCuadro")
Else
Me.miTexto.value = ""
End If
Porque si el usuario decide dejar le cuadro en blanco, el campo de texto debe quedar vacio.
Saludos,
Bam. | |
|
|
|