Cuadro lista a subformulario |
Responder |
Autor | |
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Tema: Cuadro lista a subformulario Enviado: 06/Abril/2023 a las 19:02 |
Hola, buenas tardes! He probado y escrito miles de códigos (literal) y se me acabaron las ideas, quizas sea simple y yo me la complico. Tengo un cuadro lista donde están todos los productos en existencia, con un filtro que anda bastante bien, lo que deseo en este caso es que al hacerle doble click al producto deseado me lo inserte en otro formulario de venta rápida, en realidad en el subformulario que es continuo, obviamente sin reemplazarlo en caso que ya haya elegido otro, Las complicaciones que he tenido con cada código creado, sinceramente me parece algo facil pero la estoy haciendo dificil creo, los problemas que he tenido son: 1) Carga los datos pero al no colocarle el Id automaticamente no se muestran en el Subform, si en la tabla pero sin su Id correspondiente. 2) Me abre una copia de subform en una forma individual, tampoco carga el Id, no me sirve 3) Me carga los datos sin el Id y crea 4 campos vacios entre cada uno. Y asi varios problemas mas. EDITO: Cabe aclarar que los dos formularios están abiertos al momento de ejecutar el codigo Ya no se me ocurre mas nada, alguien sabe alguna forma de hacer esto?? Saludos
Editado por maxpro - 06/Abril/2023 a las 19:05 |
|
-------Maxpro-------
San Luis - Argentina |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14746 |
Enviado: 06/Abril/2023 a las 19:46 |
Hola,
Te voy a decir como lo probaría yo: - Enfocar el subformulario del segundo formulario con algo parecido a esto: Forms!ElOtroFormulario.Controls("ElSubForm").Form.SetFocus - Ir a un nuevo registro: DoCmd.GoToRecord , Me.NewRecord - Pasarle el Id del Producto que se supone es el valor de la columna dependiente del ListBox al control adecuado del formulario Forms!ElOtroFormulario.Controls("ElSubForm").Form.Controls("elIdProducto") = Me!lstProducto Otra opción podría ser insertar el registro con una consulta y actualizar el subformulario En cualquier caso está un poco complicado dar más posibilidades sin saber lo que has hecho y lo que no. Un saludo |
|
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Enviado: 06/Abril/2023 a las 20:36 |
Hola Xavi, este es uno de los codigos que pense que funcionaria pero no! Private Sub Lista1_DblClick(Cancel As Integer) Dim Id As Long Dim producto As String Dim Precio As Double ' Obtener los valores de los campos de la fila seleccionada en la lista Id = CLng(Me.Lista1.Column(0)) producto = Me.Lista1.Column(1) Precio = Me.Lista1.Column(4) ' Abrir el subformulario DoCmd.OpenForm "VentaRapidaSub", acNormal, , , acFormAdd, acWindowNormal ' Agregar un nuevo registro en el subformulario Forms!VentaRapida!VentaRapidaSub.Form.Recordset.AddNew ' Asignar los valores a los campos del nuevo registro Forms!VentaRapida!VentaRapidaSub.Form.Recordset.Fields("Codigo").Value = Id Forms!VentaRapida!VentaRapidaSub.Form.Recordset.Fields("Producto").Value = producto Forms!VentaRapida!VentaRapidaSub.Form.Recordset.Fields("Precio").Value = Precio ' Guardar el registro y refrescar el subformulario Forms!VentaRapida!VentaRapidaSub.Form.Recordset.Update Forms!VentaRapida!VentaRapidaSub.Form.Requery End Sub El formulario a donde deben ir los datos se llama "VentaRapida" y el subform "VentaRapidaSub" Saludos
|
|
-------Maxpro-------
San Luis - Argentina |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14746 |
Enviado: 11/Abril/2023 a las 08:53 |
Hola, No explicas que es lo que no funciona pero me surge una duda: ¿abrir el subformulario? Yo pensaba que el formulario ya lo tendrías abierto, de ahí que propusiera enfocar el subformulario. En otras ocasiones yo utilizo variables o estructuras públicas (estoy empezando a experimentar con TempVars) para pasar valores entre formularios. En el Load del segundo formulario evalúo si requiere de "algo" especial y actúo en consecuencia pero en el formulario destino. Un saludo |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14027 |
Enviado: 11/Abril/2023 a las 11:03 |
Si no me he perdido ... el pase de valores a un formulario / subformulario (informe/subinforme) se hace muy fácil con el argumento OpenArgs.
En el caso de que necesites pasar más de un valor, los mandas con un separador y en el destino obtienes los valores con split. |
|
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Enviado: 11/Abril/2023 a las 17:35 |
Hola Mihura. Al otro dia mas descansado entendi que podia pasarle los valores de la siguiente manera: En el evento doble click a la lista: Forms!VentaRapida!VentaRapidaSub.Form!Codigo = Me.Lista1.Column(0) Forms!VentaRapida!VentaRapidaSub.Form!Producto = Me.Lista1.Column(1) Forms!VentaRapida!VentaRapidaSub.Form!Precio = Me.Lista1.Column(4) DoCmd.GoToRecord , , acNewRec De
esta manera logro que me inserte el Codigo, Producto y Precio del item
al que hice doble click en un Subformulario, por si le sirve a alguien
aqui lo dejo |
|
-------Maxpro-------
San Luis - Argentina |
|
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Enviado: 11/Abril/2023 a las 17:53 |
Gracias, ya se puede cerrar el Hilo. Saludos Editado por maxpro - 11/Abril/2023 a las 17:55 |
|
-------Maxpro-------
San Luis - Argentina |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |