Copiar un dato de un subformulario a otro subformulario

Tengo una duda que seguro me podéis resolver fácilmente.

Tengo en access un formulario con dos subformularios (A) y (B). Estos subformularios no están relacionados. Y ambos tienen varios campos que se obtienen el A de una tabla y el B de una consulta sobre otra tabla.

Necesito que en un campo del subformulario B al hacer doble click me copie la información contenida en un campo del subformulario A.

2 respuestas

Respuesta
2

Paco: Mas o menos así>>

Voy a suponer que el dato que quieres copiar, se llama TxtB y lo vas a hacer en TxtA

En ese evento doble Click que citas, has de referenciar ambos desde el Formulario principal que voy a supones se llama FPrinc, pues bien >>

Forms!FPrinc!A.TxtA = Forms!FPrinc!B.TxtB

No lo he probado, por lo si tienes dificultades me comentas. Un saludo >> Jacinto

Paco: Como ampliación de mi respuesta, y con el fin de que tengas un cuadro resumido en el que explica como referirse a Formularios/Subformularios, dependiendo de donde te encuentres, te adjunto un link en el que está muy bien explicado.

http://www.llodax.com/Tutoriales/SintaxisSubForms.htm 

Mis saludos >> Jacinto

Gracias por contestar tan rápido. 

Os cuento: formulario principal lo llamo "for Partestrabajo"

subformulario donde quiero copiar el dato lo llamo "for Serv Realiz" y campo "NºRva"

subformulario de donde quiero copiar el dato lo llamo "subf Servicios Reservas" y el campo "IdRva"

HE ESCRITO EN EL PROGRAMA LO SIGUIENTE Y ME DA ERROR

Option Compare Database
Option Explicit
Private Sub Nº_Rva_DblClick(Cancel As Integer)
Forms![for partestrabajo]![for Serv Realiz].[NºRva] = Forms![for partestrabajo]![subf Servicios Reservas].[IdRva]
End Sub

GRACIAS POR VUESTRA PACIENCIA

Paco: Según yo lo veo, el Evento lo has de poner en el Control desde "el que quieres copiar", que interpreto es IdRva y no NºRva. Si eso fuera así, prueba con lo siguiente.

Private Sub IdRva_DblClick(Cancel As Integer)
Dim Frm As Access.Form
Set Frm = Forms![For PartesTrabajo]![For Serv Realiz].Form
Frm.[NºRva] = Me.IdRva
Set Frm = Nothing
End Sub

Como observación y si no tienes muy avanzada la Aplicación, te sugiero que juntes los nombres de objeto, ya que con espacios (si bien puede hacerse), a la larga son una fuente de problemas, pero eso no deja de ser una Observación personal.

En mi caso hubiera puesto ForPartesTrabajo, ForServRaliz etc y se evitan los corchetes.

Mis saludos >> Jacinto

Respuesta
1
Me.CampoSubUno = Forms("FormPrincipal").Controls("SubformularioDos").Form.Controls("CampoSubDos")

Asi cheka esa forma

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas