Utilizar DLookup desde botón para actualizar campo de otro formulario. Previamente de grabarse el registro que se actualiza.

Tengo un Subformulario F_RemitosDetalle en el cual tengo un botón que abre otro formulario F_ProductosModif para modificar datos del producto sin salir del Subformulario .

En F_ProductosModif tengo el código que copio mas abajo.

Mi inconveniente es que no me actualiza los datos. Supongo porque no esta grabado el registro en la tabla. Como puedo modificarlo para que ademas de copiar en el campo codigo, me actualice descripción y PrecioPublico2

Private Sub VolverRemito_Click()
Dim txtFiltro As String
Form_F_RemitosDetalle.Codigo = Id_Productos
txtFiltro = "Id_Productos= " & Id_Productos
Form_F_RemitosDetalle.Descripcion = DLookup("Descripcion", "T_Productos", txtFiltro)
Form_F_RemitosDetalle.PrecioPublico2 = DLookup("PrecioPublico", "T_Productos", txtFiltro)
DoCmd.Close acForm, "F_ProductosModif"
End Sub
Respuesta
3

Supongamos que tengo un formulario con un subformulario como en la imagen

No se vé pero el cursor está en el cuadro vacío de Nombre compañia. Pulso el botón Comando3 y se abre el formulario Clientes1 en vista diálogo

Los controles no tiene porque llamarse igual, yo lo he puesto por comodidad. Escribo lo que quiero y pulso el botón y

Como puedes ver, abajo me ha "pasado" lo del otro formulario

El código del botón Comando 3 es

DoCmd. OpenForm "clientes1",,,, acFormAdd, acDialog

Y el código del botón del formulario Clientes1

If CurrentProject.AllForms("formulario1").IsLoaded Then
Forms!formulario1!Clientes.Form!NombreCompañía = NombreCompañía
Forms!formulario1!Clientes.Form!NombreContacto = NombreContacto
Forms!formulario1!Clientes.Form!País = País
End If

Gracias es parte de lo que necesito.

No me explique del todo bien antes.

Este es el formulario con su subformulario con el que estoy trabajando. Lo que quería lograr es que me abriera el formulario F_Productos filtrando por el campo Codigo para editarlo y luego cargar la información  en los campos Descripcion y PrecioPublico2 del subformulario F_RemitosDetalle. Ademas si el codigo es "0" cargar un nuevo producto.

Podras ayudarme desde ya muchas gracias

Te estoy contestando desde el móvil. Ahora mismo estoy en Praga, luego me voy a Bratislava y después a Budapest, no llego a Espaá hasta el día 10. Si puedes esperar hasta entonecs, te resulevo la duda.

No hay problema espero. 

Ya estoy de vuelta. No sé si lo he entendido bien, pero la instrucción de abrir el formulario la puedes poner como

If codigo=0 then

DoCmd. OpenForm "clientes1",,,, acFormAdd, acDialog

else

DoCmd. OpenForm "clientes1",,,"[código de barras]=" & me.codigo & "",, acDialog

End if

Suponiendo que el cuadro de texto donde aparece 3346... se llame Codigo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas