Copiar valores de dos campos de texto dependientes de subformulario en dos campos del formulario

Tengo una tabla donde pego los movimientos de la cuenta corriente que descargo del banco, y tiene unos campos adicionales para asignar cada abono recibido a una factura específica.

Así que tengo un formulario Abonos Banco con un subformulario Controlar Factura que ofrece todas las facturas pendientes de cobro cuyo importe coincide con el abono.

En el subformulario selecciono el registro de la factura que me pagan, y en el formulario tengo varios cuadros de texto dependientes del registro seleccionado en el subformulario con los valores que quiero asignar en distintos campos del registro del formulario principal.

La pregunta: ¿Cómo programo un botón para que al hacer click copie lo que pone el campo de texto 1 en el campo Factura_Num, el campo de texto 2 en el campo Expediente, y el campo de texto 3 en el campo Id_Minuta?

Hasta ahora lo hago todo con el generador de expresiones, pero a esto ya no llego.

1 respuesta

Respuesta
1

En las propiedades del botón (que supongo que lo querrás en el formulario), en eventos-Al hacer clic crea un procedimiento de evento y entre Private Sub y End Sub escribe

factura_num=me.nombredelsubformulario.form![texto 1]

Expediente=me.nombredelsubformulario.form![texto 2]

Id_minuta=me.nombredelsuforrmulario.form![texto 3]

Pero antes, en el diseño del formulario haz clic en el subformulario y en sus propiedades-otras-nombre mira como se llama.

Entonces cuando hayas seleccionado un registro en el subformulario y hagas clic en el botón te pasará esos campos

¡Gracias! 

Funciona muy bien

Hola.

Abusando un poco de tu amabilidad.

He añadido unas líneas para copiar  al portapapeles un cuadro de texto, que luego pegaré en otro programa. El problema es ¿cómo lo modifico para que tome sólo los 45 primeros caracteres del cuadro de texto (ya que el otro programa no admite una cadena más larga, y no la trunca, sino que da un mensaje de error)?

Este es el código:

Private Sub Comando107_Click()
[AÑO] = Me.LTA_CONTROLAR_FACTURA.Form![AÑO]
[NUMERO] = Me.LTA_CONTROLAR_FACTURA.Form![NUM_EXPEDIENTE]
[FACTURA NUM] = Me.[Texto51]
[ID_MINUTA] = Me.LTA_CONTROLAR_FACTURA.Form![ID_MINUTA]
[AUTOS] = Me.[Texto55]
[CONTROLADO] = "S"
    Me.[Texto64].SetFocus
    Me.[Texto64].SelStart = 0
    Me.[Texto64].SelLength = Len(Me.[Texto64].Text)
    DoCmd.RunCommand acCmdCopy

End Sub

Gracias de nuevo

Puedes poner, por ejemplo

Textoloquesea=left([otrotexto],45)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas