Subformulario en función de formulario

Hola pascual25: Necesito tu ayuda urgentemente. Resulta que tengo un formulario con 1 cuadro combinado y quiero que, dependiendo de qué escoja en ese cuadro, en el subformulario se me haga un filtro de la tabla principal mostrándome unicamente los registros que posean el campo del cuadro. Estoy empezando en esto de access y no tengo mucha idea, así que si me lo explicas

1 respuesta

Respuesta
1
Cuando examina datos, puede querer ver una presentación general y otra detallada. En el formulario TotalesDeVentas, puede revisar las ventas totales anuales del vendedor seleccionado además de sus ventas trimestrales totales del año seleccionado.
Información general
Cree un subformulario que presente los totales anuales y un segundo subformulario que presente los totales trimestrales. Cree un formulario principal dependiente de la tabla Empleados. En el encabezado del formulario principal, cree un cuadro combinado independiente que puede utilizar para buscar registros del empleado seleccionado. En la sección Detalle del formulario principal, cree un cuadro de texto independiente que vincule el segundo subformulario al primero. Establezca la propiedad OrigenDelControl (ControlSource) del cuadro de texto a una expresión que presente el valor desde el T-Año, (el campo de vinculación del primer subformulario). Establezca las propiedades VincularCamposSecundarios (LinkChildFields) y VincularCamposPrincipales (LinkMasterFields) del segundo subformulario a los campos que identifican el empleado y el año, es decir IdEmpleado y T-Año.
Objetos usados en este ejemplo:
Objeto Nombre
Tabla Empleados, Detalles de pedidos, Pedidos
Consulta Vendedores, TotalesDeVentas(Tri) TotalesDeVentas(Año)
Formulario TotalesDeVentas, SuformularioTotalesDeVentas1, SuformularioTotalesDeVentas2
Módulo módUtilidadesDeSoluciones
Paso a paso
1 Cree la consulta Vendedores.
a) Use los campos y expresiones de las siguientes tablas:
Tabla Campo/Expresión
Empleados IdEmpleado
Campos de la tabla Empleados Vendedor: [Apellidos] &", " & [Nombre]
Pedidos -
b) En la celda Orden de la expresión Vendedor, haga clic en Ascendente.
Nota En esta consulta no se utiliza ningún campo de la tabla Pedidos. La tabla Pedidos sólo se usa para limitar los empleados a aquellos que tengan registros en ellas.
2 Cree la consulta de TotalesDeVentas (Año).
Tabla Campo/Expresión Total Criterio
Pedidos IdEmpleado Agrupar por -
T-Año: Año([FechaEnvío]) Agrupar por Es Negado
Nulo
Campos
De la tabla
DetallesDePedido Total:
CMoneda(Suma(CLargo([PrecioUnidad]
* [Cantidad] * (1-[Descuento]) * 100)/100)) Expresión -
3 Cree la consulta de TotalesDeVentas (Tri).
Tabla Campo/Expresión Total Criterio
Pedidos IdEmpleado Agrupar por -
T-Año: Año([FechaEnvío]) Agrupar por Es Negado
Nulo
Trimestre: ParcFecha("t",[FechaEnvío]) Agrupar por Es Negado
Nulo
Campos
De la tabla
DetallesDePedido Subtotal:
CMoneda(Suma(CLng([PrecioUnidad]
* [Cantidad] * (1-[Descuento]) * 100)/100)) Expresión -
4 Diseñe el formulario SubformularioTotalesDeVentas1.
a) Establezca las siguientes propiedades del formulario:
Propiedad Valor
OrigenDelRegistro
(RecordSource) TotalesDeVentas(Año)
PresentaciónPredeterminada
(DefaultView) Hoja de datos
b) Cree dos cuadros de texto en la sección Detalle y establezca las propiedades Nombre (Name) y OrigenDelControl (ControlSource) de la manera siguiente:
Nombre OrigenDelControl
T-Año T-Año
Total Total
c) Cambie a la vista Hoja de datos. Ajuste el ancho de las columnas y guarde el formulario.
5 Diseñe el formulario SubformularioTotalesDeVentas2.
a) Establezca las siguientes propiedades del formulario:
Propiedad Valor
OrigenDelRegistro
(RecordSource) TotalesDeVentas(Tri)
PresentaciónPredeterminada
(DefaultView) Hoja de datos
b) Cree dos cuadros de texto en la sección Detalle y establezca sus propiedades Nombre (Name) y OrigenDelControl (ControlSource) como se explica a continuación:
Nombre OrigenDelControl
Trimestre Trimestre
Subtotal Subtotal
c) Cambie a la vista Hoja de datos. Ajuste el ancho de las columnas y guarde el formulario.
6 Cree la función ActivarControles en el módulo módUtilidadesDeSoluciones, si no lo hizo anteriormente.
7 Diseñe el formulario TotalesDeVentas:
a) Establezca las siguientes propiedades del formulario:
Propiedad Valor
OrigenDelRegistro
(RecordSource) Empleados
Titulo
(Caption) Totales de ventas
PresentaciónPredeterminada
(DefaultView) Formulario simple
PresentacionesPermitidas
(ViewsAllowed) Formulario
BarrasDeDesplazamiento
(ScrollBars) Ninguna
SelectoresDeRegistro
(RecordSelectors) No
BotonesDeDesplazamiento
(NavigationButtons) No
CentradoAutomático
(AutoCenter) Sí
MenúDeMétodoAbreviado
(ShortcutMenu) No
b) Agregue un encabezado y un pie de formulario. Establezca la propiedad Altura (Height) del pie a 0 cm.
c) En el encabezado del formulario, cree un cuadro combinado independiente y establezca sus propiedades de la siguiente manera:
Propiedad Valor
Nombre
(Name) SeleccionarVendedor
TipoDeOrigenDeLaFila
(RowSourceType) Tabla/Consulta
OrigenDeLaFila
(RowSource) Vendedores
NúmeroDeColumnas
(ColumnCount) 2
AnchuraDeColumna
(ColumnWidths) 5,08cm; 0cm
ColumnaDependiente
(BoundColumn) 2
LimitarALista
(LimitToList) Sí
DespuésDeActualizar
(AfterUpdate) [Procedimiento de evento]
d) En la sección Detalle, cree un cuadro de texto, separe su etiqueta y luego establezca las propiedades del cuadro de texto de la siguiente manera:
Propiedad Valor
Nombre
(Name) Vendedor
OrigenDelControl
(ControlSource) =[Apellidos] & ", " & [Nombre]
Activado
(Enabled) No
PuntoDeTabulación
(TabStop) No
e) En la sección Detalle, cree un cuadro de texto oculto y establezca sus propiedades de la siguiente manera:
Propiedad Valor
Nombre
(Name) T-Año
OrigenDelControl
(ControlSource) =[SubformularioTotalesDeVentas1]![T-Año]
Visible No
PuntoDeTabulación
(TabStop) No
Nota Microsoft Access usa el valor de este cuadro de texto para vincular los valores del SubformularioTotalesDeVentas2 a la fila seleccionada en el SubformularioTotalesDeVentas1.
8 Agregue el SubformularioTotalesDeVentas1 al formulario TotalesDeVentas.
a) Seleccione el SubformularioTotalesDeVentas1 en la ventana de la base de datos y arrástrelo a la sección Detalle del formulario TotalesDeVentas.
b) Cambie la etiqueta del control del subformulario a Seleccionar año: y ajuste el tamaño del control del subformulario.
c) Verifique que las propiedades VincularCamposSecundarios (LinkChildFields) y VincularCamposPrincipales (LinkMasterFields) del control del SubformularioTotalesDeVentas1 tienen el valor IdEmpleado..
d) Establezca a No la propiedad Activado (Enabled) del control del SubformularioTotalesDeVentas1.
9 Agregue el SubformularioTotalesDeVentas2 al formulario TotalesDeVentas
a) Seleccione el SubformularioTotalesDeVentas2 en la ventana de la base de datos y arrástrelo a la sección Detalle del formulario TotalesDeVentas.
b) Cambie la etiqueta del control del subformulario a Totales trimestrales del año seleccionado: y ajuste el tamaño del control del subformulario.
c) En las propiedades VincularCamposSecundarios (LinkChildFields) y VincularCamposPrincipales (LinkMasterFields) del control del SubformularioTotalesDeVentas2, escriba: T-Año;IdEmpleado.
d) Establezca a No la propiedad Activado (Enabled) del control del SubformularioTotalesDeVentas2.
Referencias cruzadas
Si desea obtener más información sobre los siguientes temas, consulte Creación de aplicaciones con Microsoft Access97.
Tema Capítulo
Procedimientos de evento Capítulo 2, "Introducción a Visual Basic"
Trabajar con formularios Capítulo 3, "Uso de formularios para recopilar, filtrar y presentar información"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas