Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Dudas sobre código
gginarte
Nivel 1
Mensajes: 5
Registrado: Lun Ene 06, 2020 8:21 pm

Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor gginarte » Lun Ene 06, 2020 9:16 pm

Hola
Estoy haciendo un calendario y tengo interés en generar un informe donde actualice mediante código cada cuadro de texto mediante su propiedad ControlSource. Lo hice de la siguiente forma

DoCmd.OpenReport "AlmanaqueSemanal", acViewReport

Lbl.Caption = "Día" ....Este trabajó bien
Txt.ControlSource = "Prueba" ... En este caso me sale #Nombre?

Agradezco de antemano quien pueda ayudarme con esto
Saludos

Avatar de Usuario
Fayad
Colaborador
Mensajes: 378
Registrado: Mié Oct 28, 2015 9:43 pm

Re: Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor Fayad » Lun Ene 06, 2020 10:39 pm

Hola!

"Prueba", que es?
Si es el nombre de un campo debería ir sin comillas dobles.
Salu2.

gginarte
Nivel 1
Mensajes: 5
Registrado: Lun Ene 06, 2020 8:21 pm

Re: Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor gginarte » Mar Ene 07, 2020 2:26 pm

Fayad, te agradezco de antemano tu interés en ayudarme.

La palabra prueba es un texto que quiero mostrar en el cuadro de texto, pues la idea es mediante programación hacer una matriz o un recordset y obtener el texto con las afectaciones de cada día, con saltos de línea etc y ponerla en el cuadro de texto del día que corresponda. Eso responde al principio de algunos ejemplos de calendarios, lo que siempre lo hacen con un formulario y a mi me interesa imprimir esa agenda de trabajo.

Saludos

Avatar de Usuario
Fayad
Colaborador
Mensajes: 378
Registrado: Mié Oct 28, 2015 9:43 pm

Re: Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor Fayad » Mar Ene 07, 2020 4:56 pm

Hola!

Yo lo pondría en el evento de "Al Cargar el Informe".
Salu2.

Avatar de Usuario
Neckkito
Moderador
Mensajes: 877
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor Neckkito » Mar Ene 07, 2020 7:15 pm

Hola!

¿Y por qué utilizas controlsource? Con utilizar la propiedad value no tendrías problemas. Algo así como:

me.txt.value="Prueba"

La utilización del controlsource suele ir ligada a una relación de datos que se extraen de una tabla o consulta. Por otra parte, no se puede asignar un valor a esta propiedad en tiempo de ejecución, sino que si quisieras utilizarla deberías:
1.- Abrir el informe en vista diseño
2.- Asignarle el valor a la propiedad
3.- Cerrar el informe guardando los cambios
4.- Volver a abrir el informe en vista informe

Lo cual, para un textbox, no tiene ningún sentido.

Recapitulando: mejor utiliza la propiedad value.

Saludos.
Access MVP 2017-2020
http://bit.ly/NckAccess

gginarte
Nivel 1
Mensajes: 5
Registrado: Lun Ene 06, 2020 8:21 pm

Re: Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor gginarte » Mar Ene 07, 2020 8:34 pm

Ya probé y me sale el error 2448 que no puedo asignar un valor a ese objeto.
Gracias por tu preocupación
Saludos

Avatar de Usuario
Neckkito
Moderador
Mensajes: 877
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor Neckkito » Mar Ene 07, 2020 8:45 pm

No se me ocurre cómo debes haber estructurado el informe (o su relación con otros objetos), así que, sin más datos o sin ver cómo lo has hecho, no se te puede ayudar, salvo que a alguien se le ocurra alguna idea brillante.

Saludos.
Access MVP 2017-2020
http://bit.ly/NckAccess

gginarte
Nivel 1
Mensajes: 5
Registrado: Lun Ene 06, 2020 8:21 pm

Re: Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor gginarte » Mar Ene 07, 2020 9:06 pm

Lo que intento hacer sigue el mismo principio de un ejemplo que usted publicó llamado Almanaque Planning. Si mal no entendí, luego de decifrar las semanas del mes, en principio 6 o menos, pues pienso crear 42 cuadros de texto a los que les asignaría el valor que tengo registrado ya en una tabla por fecha.
En este ejemplo solamente hice un reporte en blanco con una etiqueta y un cuadro de texto, simplemente eso, no asociado a ninguna tabla. Entonces, solo para probar la asignación de un valor, en el evento click de un botón pues escribí el código del ejemplo, o sea, abrí el reporte con la opción acViewReport, pues en acPreviewReport me daba otro tipo de error y luego le asigno el valor a cada objeto. En el caso de la propiedad caption de la etiqueta pues salió perfecto, le asigné un texto cualquiera, por ejemplo "lunes" y se actualizó, pero en el caso del cuadro de texto pues no lo logro.
Si no entendí mal, la idea es llevar todo el mes a una matríz de 42 números, de ellos descarto cual parte pertenece o no al mes (antes y después) y luego mediante determinada coincidencia pues hago que el valor se ubique en el día deseado.
Empecé de esta forma simple para luego dar valor a cada cuadro de texto mediante un bucle.
Ya casi al rendirme se me ocurre una tabla temporal con 42 campos y asociar cada cuadro de texto y entonces actualizar la tabla, pues me imagino que usar etiquetas no es la solución.
Había utilizado la propiedad ControlSource porque esta propiedad en tiempo de diseño la he utilizado de esta forma ="Informe del año "& [Año], o sea, con comillas le pongo el texto y luego le sumo el valor de un campo, por eso pensé podría funcionar si simplemente le asignaba el valor de un texto mediante comillas
Quizas pudiera utilizarse otro tipo de control que desconozco, pero en el cuadro de texto se logran los saltos de línea que es importante para organizar la información.
saludos

gginarte
Nivel 1
Mensajes: 5
Registrado: Lun Ene 06, 2020 8:21 pm

Re: Establecer valor a ControlSource de un cuadro de texto en un informe en tiempo real

Mensajepor gginarte » Jue Ene 09, 2020 7:47 pm

Abrí una base de datos nueva e hice la prueba con todo lo anterior y funcionó perfectamente. Al final nunca supe por que no trabajó. Gracias a todos los que me apoyaron.
saludos


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados