Tema: Access
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/11/2010, 02:44
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Access

Debes poner anchura cero a la columna que quieras ocultar no al combo

Propiedades > Formato > Ancho de las columnas (p.e. 2,54cm;0cm)


Supongamos que tienes los siguientes objetos


Menu1 (combo con dos columnas la segunda es la que se multiplicará)
Menu2 (combo idem)
Menu3 (combo idem)
Producto (cuadro de texto)

En Propiedades > Otras > Nombre de cada uno de ellos estan esos nombres.

Para hacer lo que quieres debes hacer que despues de actualizar el combo te calcule el producto, para ello

En el primer combo

Propiedades > Eventos > Despues de actualizar > [Procedimiento de evento]

Luego le das a ...

Te aparecera el editor de módulos con el módulo del formulario cargado con este texto

Código vb:
Ver original
  1. Private Sub Menu1_AfterUpdate()
  2.  
  3. End Sub

repites este paso para cada combo, entre esas dos lineas debes programar tu producto....

Vamos a hacerlo, debajo del ultimo End Sub creamos una funcion para no tener que repetir codigo

Código vb:
Ver original
  1. Private Sub Menu1_AfterUpdate()
  2. fproducto
  3. End Sub
  4. Private Sub Menu2_AfterUpdate()
  5. fproducto
  6. End Sub
  7. Private Sub Menu3_AfterUpdate()
  8. fproducto
  9. End Sub
  10.  
  11. Function fproducto()
  12. Me.producto = Me.Menu1.Column(1) * Me.menu2.Column(1) * Me.menu3.Column(1)
  13. End Function

finalmente como puedes ver llamamos la función en el AfterUpdate de cada combo.

Recuerda darle a grabar del editor de módulos.

No mostrará ningun valor hasta que los tres combos tengan una selección.

Lo de usar una función en este caso parece poco justificado, pero si la sofisticas es aconsejable no tener codigo repetido....

Quim