Query tengo un pequeño problema con un formulario el cual contiene una ficha de control, en un página tengo un subformulario A y en otra el subformulario B, lo que quiero hacer es poner botones para los mismos formularios, es decir un botón nuevo para ambos y que cuando le de click, ambos se inicien en un nuevo registro, esoy muy confundida por demás quiero recuperar información para ambos subformularios con un texbox del formulario principal, ayuda!
1º Antes que nada asegurate que tienes definidas las Relaciones de las tablas/consultas en que se basarán el formulario principal y los dos subformularios. Un ejemplo típico de esto lo tienes en Neptuno.mdb (base de datos de ejemplo de access) y en la forma en que se relacionan las tablas: Clientes, Pedidos y Detalles de pedidos. Ten en cuenta que debes Vincular campos secundarios y campos principales en la propiedad Datos del subformularioA para unir este al form principal, del mismo modo el subformularioB para unirlo al subformularioA. Expresiones típicas serian: SubformularioA ficha Datos: Vincular campos secundarios: IdPedido Vincular campos principales: IDPedido SubformularioB ficha Datos: Vincular campos secundarios: IdPedido Vincular campos principales: [SubformularioA]. Form![IdPedido] Plantéate el form principal con la sección Detalle conteniendo el control ficha con los dos subformularios, y la sección Encabezado del form conteniendo el texbox con el que quieres recuperar datos. Yo usaría un cuadro combinado basado en Tabla/Consulta, vista en SQL seria algo así: SELECT DISTINCTROW [Apellidos] & ", " & [Nombre] AS Vendedor, Empleados.IdEmpleado FROM Empleados INNER JOIN Pedidos ON Empleados.IdEmpleado = Pedidos.IdEmpleado ORDER BY [Apellidos] & ", " & [Nombre]; Puedes cambiar la tabla Empleados por Clientes, por ejemplo. Este procedimiento seria para el cuadro combinado: Private Sub SeleccionarVendedor_AfterUpdate() ' Buscar los registros del vendedor seleccionado en el cuadro combinado Vendedor. ' Activar los controles de la sección Detalle. ' Ir a subformularioA. DoCmd.ApplyFilter , "IdEmpleado = Forms!MiFormularioPrincipal!SeleccionarVendedor" ActivarControles Me, acDetail, True Me!subformularioA.SetFocus End Sub Y esta función iría en un módulo estándar: Option Compare Database Option Explicit Function ActivarControles(frm As Form, entSección As Integer, entEstado As Boolean) As Boolean ' Activar o desactivar los controles de la sección especificada del formulario. ' Utilizar los argumentos objeto Form, constante de sección y estado ' Pasados al procedimiento ActivarControles. Dim ctl As Control ' Establecer entEstado para todos los controles de la sección especificada. For Each ctl In frm.Controls If ctl.Section = entSección Then On Error Resume Next ctl.Enabled = entEstado Err = 0 End If Next ctl ActivarControles = True End Function Asegurate que en Referencias tienes activada Microsoft Access 9.0 Object Library (es el archivo MSACC9. OLB). 2º Para lo del botón que cuando le des click te deje los dos subformularios (cada uno en una página del control ficha) en registro nuevo, he usado una macro con: Acción: IrAControl Nombre del control: subformularioA Acción: IrARegistro Registro: Nuevo Acción: IrAControl Nombre del control: subformularioB Acción: IrARegistro Registro: Nuevo Esta macro la guardas como GoToRecNew y se la pones en el evento Al hacer click del botón. Observa el resultado y decide con cual de los dos subforms empiezas a editar registros.