** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Origen de campo en informe
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Origen de campo en informe

 Responder Responder
Autor
Mensaje
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 599
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita arodrigu Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Origen de campo en informe
    Enviado: 21/Enero/2021 a las 12:39
Buenos días,

Me ocurre una cosa que no sé por dónde coger.
Desde un botón de formulario abro un informe en vista diseño y le pongo origen a unos campos que no tienen origen.

Set vaRpt = Reports("NombreInforme")
    'Campo ubicado en la sección detalle
    vaRpt.Controls("Coste1").ControlSource = Coste1
    'Campo ubicado en una agrupación
    vaRpt.Controls("TCoste1").ControlSource = "=Suma([TCoste1])"
    'Cierro el informe guardando los cambios
    DoCmd.Close acReport, "NombreInforme", acSaveYes
 

Creo que ésto debería funcionar, pero cuando abro el informe en vista normal o trato de imprimirlo me dice que no reconoce el origen del campo que está en la agrupación (TCoste1).
Lo curioso es que abro el informe en modo diseño y el nombre que aparece está correctamente escrito, entonces borro un carácter del nombre del origen, volviendo a poner el mismo carácter, y funciona.
Es como si al cambiar el carácter se actualizase o algo así.
El origen del informe es una consulta de referencias cruzadas (por si puede ir por ahí el tema).
Alguna idea.
Gracias.
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14025
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 13:41
A un informe no se le pueden modificar los valores así como así ... Wink

Lo mejor es que le pases los valores que quieras en el OpenArgs y en el evento que corresponda (al imprimir detalle, al imprimir cabecera de grupo, etc) le pases los valores que quieras al campo.

Al dar valores a los campos comprueba el nombre que tiene (o que exista) las consultas de referencias cruzadas son muy suyas.






Editado por Mihura - 21/Enero/2021 a las 13:43
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 599
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita arodrigu Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 14:14
Hola Jesús.
Lo que me dices ya lo he probado en varios eventos con el mismo resultado. Abro el informe en modo diseño y el nombre aparece bien puesto, pero lo paso a vista normal y no lo reconoce. Borro, por ejemplo el último paréntesis y lo vuelvo a poner, y funciona bien.
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14025
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 14:28
Lo siento, pero no entiendo lo que me quieres decir Ouch ... a ver si alguien con 'más luces' te puede echar un cable 
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Juanmasp Ver desplegable
Habitual
Habitual


Unido: 21/Abril/2006
Estado: Sin conexión
Puntos: 118
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Juanmasp Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 14:37
Hola, yo creo que lo que pasa es que estás intentando sumar en Tcoste1 el valor de Tcoste1 (que es lo mismo), deberías sumar Coste1 (que es el campo que realmente tiene los valores.

Salu2
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 599
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita arodrigu Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 18:21
Hola Juanmasp.

Es una errata al escribir el mensaje. En realidad quiero sumar el campo Coste1. En el código está bien.
Muchas gracias.
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
Juanmasp Ver desplegable
Habitual
Habitual


Unido: 21/Abril/2006
Estado: Sin conexión
Puntos: 118
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Juanmasp Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 26/Enero/2021 a las 15:03
Solo por descartar, ¿has probado a poner el origen en inglés?

Al trabajar desde VisualBasic, las funciones hay que ponerlas en inglés sino no las reconoce.

quedaría así:
vaRpt.Controls("TCoste1").ControlSource = "=Sum([TCoste1])"

Salu2.
Arriba
arodrigu Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 04/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 599
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita arodrigu Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 27/Enero/2021 a las 09:35
Hola Juanmasp.
Sí ya o probé. Lo traduce directamente.
Gracias.
Fuerza y honor.
Saludos de Arturo desde Madrid
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable