Cambiar tablas de formularios con botones

Tengo 2 situaciones que no se como realizarlas en vba.
1- Tengo el formulario alta detalle el cual toma datos de una tabla determinada y los carga según sea el caso en otra, el tema es que quiero agregar a mi hermana y mi señora para que usen la misma base para su facturación, pero el formulario de cada una de ellas haría referencia a otras tabas (salvo la maespacientes que la usamos todos), lo que hice fue poner en el formulario que se abre por defecto dos botones, uno cierra mi form y abre el de mi hermana y el otro cierra mi form y abre el de mi señora, los form de mi hana y mi señora a su vez tienen los botones vinculados a los otros dos form, esto funciona perfecto, pero quería sofisticarlo con código y que no se cierren ni abran formularios, sino que al presiona un botón ete quede presionado hasta que se presione otro y dependiendo cual este presionando se cambie una variable que contenga el nombre de las tablas que se tienen que utilizar para ese botón activado, no se si me explico. Seria lo mismo que hice yo pero en lugar de tener 3 form tendría uno solo y con los botones le asignaría a una variable el nombre de las tablas que se usan para esa instancia.
2- Es similar a la otra, tengo un formulario para hacer un listado según se especifiquen las fechas en 2 cuadros de texos (desde-hasta) pero las fechas que se usan son las de facturación y quiero poner la opción de usar fecha de consulta también con 2 cuadros de texto y activa uno u otra a través de un checkbox ( no se si se llama así, de un tilde)

1 respuesta

Respuesta
1
No me he olvidado, es que no se bien como hacerlo y estoy en ello.
Gracias Angeles, en realidad es la primera vez que te pregunto esto, cualquier cosa avisame, si quieres que finalice mandame un mail, saludos, Martin.
Creo que lo mejor es que entréis como usuarios, te explico, creas una tabla Usuarios con los campos CodUsuario y NombreTabla, en NombreTabla pondrías el nombre de la tabla que utilizáis cada uno para el mismo formulario, si fuesen varias tablas pues varios campos NombreTabla1, NombreTabla2... Aquí lo haré para una tabla.
En la pestaña módulos creas un módulo nuevo y defines la variable vTabla como pública:
Option Compare Database
Public vTabla As String
Guardas este módulo llamándolo como quieras, lo que hace es que esta variable vTabla la podrás utilizar en cualquier parte de la BD.
Creas un formulario que llamaremos Inicio, en el que pones un cuadro combinado para elegir usuario. En origen de la fila de este cuadro combinado:
SELECT CodUsuario FROM Usuarios ORDER BY [CodUsuario]
Y en la acción Al hacer clic ---> Procedimiento de evento ---> Me. Refresh
Después un botón con el siguiente código:
vTabla = DLookup("[NombreTabla]", "[Usuarios]", "codUsuario='" & Form![selUsuario].Value & "'")
DoCmd.OpenForm "FormularioComun", acNormal
Llamo FormularioComun al formulario único que abririais con cada código lo que se diferencia es en la tabla en la que se basa, para ello en el FormularioComun, en la acción Al abrir formulario ---> Procedimiento de evento ---> Form.RecordSource = "Select * from " & vTabla & ""
Me cuentas.
uyy, gracias, pero creo que me supera un poco, apenas tenga un poco de tiempo me concentro, pruebo y te comento.
¿Y si en lugar de hacer el cuadro combinado con los usuarios no se le asigna a cada botón como si se eligiese un usuario?
Nos vemos
Da lo mismo elegir el usuario por medio de un cuadro combinado que en un botón, lo importate es que al elegir el usuario des un valor a la varable vTabla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas