Formulario de access

Tengo una tabla con los siguientes campos.
Cliente(a y b), tipo de servicio (c, d). Empleado designado (e, f, g, h) Como pestaña de búsqueda.
Luego, quiero que al estar llenando el formulario, uno elija el cliente, luego si uno elije el servicio c, que en el siguiente campo uno pueda elegir entre dos opciones (e y f). Y al elegir D, que el formulario me ofrezca las opciones g y h.
Gracias de antemano

3 respuestas

Respuesta
1
Supongo que esta pregunta es continuación de la que te contesté hace unos días, en la que al final lo que hacíamos era construir una tabla OperariosTareas (IdOperario, IdTarea) en la que están relacionados los operarios con las distintas tareas. Si es así lo que tendrás que hacer es que el cuadro combinado en el que eliges el operario esté supeditado a lo que hayas elegido en el cuadro combinado tareas. Por ejemplo:
Cuadro combinado tareas (lo llamaremos selTarea) en origen de la fila:
Select IdTarea from OperariosTareas group by IdTarea order by IdTarea
En la Acción al hacer clic ---> Procedimiento de evento ---> Me. Refresh
Cuadro combinado operarios en origen de la fila:
Select IdOperario from OperariosTareas where IdTarea='" & Form!selTarea.Value & "'
Es decir lo que haces en el 2º combox es filtrarle por la tarea seleccionada en selTarea.
Me cuentas.
Respuesta
1
Deberás manejar el evento AfterUpdate del segundo grupo de opciones para deshabilitar las opciones pertinentes en función del valor del grupo de opciones. Para ello yo acostumbro a renombrar los controles que intervienen en la "ecuación" (por llamarla de alguna manera)
Tienes un grupo de opciones de cliente (opgCliente) con 2 opciones posibles (a o b, pero supongo que, en realidad, serán 1 o 2) cuyos controles (los optionButton propiamente dichos) se llaman optCliente1 y optCliente2.
Después tienes otro grupo de opciones para el tipo de servicio (opgServicio) con 2 posibles opciones (optServicio1 y optServicio2).
Finalmente tienes un tercer grupo para el empleado (opgEmpleado) con 4 posibles opciones (opcEmpleado1, opcEmpleado2, opcEmpleado3 y opcEmpleado4).
Quieres que opcEmpleado1 y 2 sólo estén activos cuando opgServicio valga 1 (o sea: optServicio1 esté marcado). Y que están desmarcados cuando opgServicio valga 2, estando activados oppEmpelado3 y 4.
Muy bien. Así lo haría yo. En el evento AfterUpdate del opgServicio:
Me!optEmpleado1.Enabled = (Me!opgServicio = 1)
Me!optEmpleado2.Enabled = Me!optEmpleado1.Enabled
Me!optEmpleado3.Enabled = Not Me!optEmpleado1.Enabled
Me!optEmpleado4.Enabled = Me!optEmpleado3.Enabled
¿Te sirve?
Respuesta
1
Perdón por el retraso, pero he estado de vacaciones.
Tendremos que crear el formulario con los cuadros combinados que en el momento de abrir calculen los datos a través de una consulta que filtre los campos que deseamos. El cuadro combinado del campo EmpleadoDesignado tendría en origen de la fila el siguiente comando:
SELECT TblTipoServicio.EmpleadoDesignado, TblTipoServicio.TipoServicio FROM TblTipoServicio WHERE (((TblTipoServicio.TipoServicio) Like "*" & Formularios!frmPrincipal!TipoServicio));
Donde:
Like "*" & Formularios! FrmPrincipal! TipoServicio es el filtrado que lee del formulario principal (frmPrincipal) el campo TipoServicio.
Te he puesto un ejemplo en la sección DESCARGAS de mi página
http://personales.ya.com/pachaweb

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas