Access - copiar datos de un cuadro de texto al portapapeles

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 10 puestos en Access (en relación al último mes)
Gráfica de Access

copiar datos de un cuadro de texto al portapapeles

Publicado por Gerard (13 intervenciones) el 25/01/2017 16:47:58
Hola,

Tengo un informe (llamado informe1), con un campo de texto "testmemo3"

Al darle en un botón del formulario, cargo este código en VBA:

1
2
3
4
5
6
7
8
9
10
DoCmd.OpenReport "informe1", acViewPreview, , "DNI = " & [ID_DNI] & " and CENTRE = " & [CENTRE] & ""     'Abre el informe y filtra por DNI y CENTRO
 
DoCmd.Maximize       'Maximiza el informe
 
'Código para copiar TODO el contenido del cuadro de texto testmemo3
 
Me.testmemo3.SetFocus
Me.testmemo3.SelStart = 0
Me.testmemo3.SelLength = Len(Me.testmemo3.Text)
DoCmd.RunCommand acCmdCopy

Lo que quiero conseguir, es que todo el contenido del cuadro de texto (testmemo3) se copie en el portapapeles y pueda pegar ese contenido en otra aplicación informática.

Me da error que no conoce testmemo3... cómo puedo llamarlo?

Gracias de antemano!

Gerard
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

copiar datos de un cuadro de texto al portapapeles

Publicado por Neckkito (1157 intervenciones) el 29/01/2017 12:13:49
Hola!

Tienes bastantes errores de concepto en lo que comentas en tu consulta. Vamos por partes:

1.- El "ME" representa el objeto sobre el cual se está ejecutando la acción. Si el botón lo tienes en el formulario, cuando dices "me.testmemo3", estás diciendo "en el control llamado testmemo3 que está en el formulario donde estoy ejecutando la acción..."

Lógicamente, si estás haciendo referencia al formulario y en el formulario no hay un control llamado testmemo3 evidentemente te dará error, dado que no lo encuentra.

2.- Los informes abiertos en vista previa, como es tu caso, no permiten la selección de ningún tipo de campo, dado que simplemente son una vista de lo que se verá en una hipotética impresión. En consecuencia, no puedes manipular ningún control y, por extensión, no puedes manipular un campo que se llame testmemo3, aunque sí esté en el formulario.

En consecuencia, lo que deberías hacer es:

1.- Abrir el informe en vista informe. Eso se consigue cambiando el acViewPreview por acViewReport

2.- Hacer una llamada al objeto donde está el control, esto es, una llamada al informe. Y, cuando hagas esa llamada al control del informe, inicialmente ya debería seleccionarte la totalidad del contenido del control, por lo que no necesitas seleccionarlo con el seltext.

Resumiendo

docmd.openreport "informe1", acviewreport 'Más los filtros que quieras aplicar
Reports!informe1.testmemo3.setfocus
docmd.runcommand accmdcopy

Saludos,

Neckkito
http://bit.ly/neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 10 puestos en Access (en relación al último mes)
Gráfica de Access

copiar datos de un cuadro de texto al portapapeles

Publicado por GERARd (13 intervenciones) el 31/01/2017 21:05:16
Muchísimas gracias Neckkito!!! Unos cuantos estamos muy agradecidos.

Ahora funciona perfectamente, reconozco que pocos días después de publicar el post, me percaté del error con el "Me!", aunque el "acviewreport " no sé si lo hubiera detectado...

Gracias de nuevo!

Un abrazo

Gerard
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar