Elegir una opción según un criterio en formulario de ACCESS

Tengo una base datos en access (hecha desde cero con la ayuda de ustedes) y quiero consultarles lo siguiente: La cuestión es que puedo cobrar tanto a mis proveedores como a mis clientes (Por servicios prestados o facturas emitidas respectivamente). LO que quiero es que en el modulo de cobros pueda según un cuadro combinado (Clientes o Proveedores) al elegir una de esas opciones me desbloquee o bien sea el cuadro combinado de Clientes y me bloquee el de proveedores, o si elijo Proveedores me haga lo contrario y pueda elegir al proveedor para gestionar el cobro.

2 respuestas

Respuesta
2

Muy sencillo:

En el evento "después de actualizar" del combinado donde escoges Cliente o Proveedor (llamémoslo cboElegir), pones:

If Me.cboElegir="Cliente" Then
  Me.cboCliente.Enabled=True
  Me.cboProveedor.Enabled=False
Else
  Me.cboCliente.Enabled=False
  Me.cboProveedor.Enabled=True
End If

Otras opciones serían mostrarlos/ocultarlos (con Visible en vez de Enabled), bloquearlos/desbloquearlos (con Locked en vez de Enabled)

amigo Sveinbjorn El Rojo, gracias por tu pronta respuesta, sin embargo debo decirte que en cualquiera de las opciones (Si elijo proveedor o cliente) me bloquea al cliente. 
Lo que busco es; que si elijo una opción me desbloquee ese campo y me bloquee el otro. y al contrario. 
Espero tus comentarios, también es bienvenida la opción de mostrarlos /ocultarlos,  sin embargo tampoco tengo idea de como hacerlo..

Si siempre te bloque cliente es que tu combo no devuelve un valor igual a "Cliente", quizás sea "Clientes"... eso lo sabes tú y tendrás que adaptar el código en consecuencia (la línea del If... Then)

Para mostrar/ocultar, como te decía, solo has de cambiar los "Enabled" del código por "Visible".

Me sigue pasando lo mismo.. y en el  código esta escrita la palabra tal cual como en el código. Ahora bien.  esas comillas son vinculantes?¿ sera que me están afectando?¿  las quito?¿ 

Ya me sirvió, eran las comillas. no las estaba colocando. 

Pues... ¡Tema solucionado!

Respuesta
1

Puedes hacerlo como

Si elijo Clientes

En el momento que lo elijo

Si por el contrario elijo Proveedores

El código del evento Después de actualizar del combinado Elegir es

Private Sub Elegir_AfterUpdate()
If Elegir = "Clientes" Then
Proveedores.Visible = False
Clientes.Visible = True
Else
Clientes.Visible = False
Proveedores.Visible = True
End If
End Sub

Julián González Cabarcos

algo estoy haciendo mal que no logro que me oculte uno y me visualice el otro. 

Lo único que puedo hacer es que si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando un par de ejemplos.

Ya me sirvió, eran las comillas. no las estaba colocando. 

Julián González Cabarcos y como haría si por ejemplo tengo el cuadro combinado ·"Elegir" en el formulario, y los cuadros combinados; "proveedores" y "Clientes" en un subformulario. 

Agradezco tu siempre apoyo.

Saludos 

No podrías ocultarlos pero si bloquearlo o inhabilitarlo. Sólo tendrías que hacer referencia al control del subformulario. Por ejemplo, voy a elegir Clientes

Cuando lo elijo

Apenas se distingue pero ahora el combinado Idproducto está en gris por estar inhabilitado. El código sería

Private Sub Elegir_AfterUpdate()
If Elegir = "clientes" Then
Me.DetalleCompra.Form!Idproducto.Enabled = False
Else
Me.DetalleCompra.Form!Cantidad.Enabled = False
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas