Access - Importar un dato de un combobox a un informe

   
Vista:

Importar un dato de un combobox a un informe

Publicado por Roberto (24 intervenciones) el 21/04/2017 10:30:03
Hola a todos, como en ocasiones anteriores, recurro a vuestra ayuda.

Tengo un Informe donde realizo o deseo realizar el resultado contable de todo el a├▒o.

Mediante secuencias SQL realizo captura de los datos econ├│micos de forma correcta. El problema es que me da el total de todos los a├▒os, y lo que pretendo es filtrar los datos por el a├▒o que elija en un combobox de un formulario.

En el informe tengo un textbox "texto81" a donde deseo enviar el a├▒o desde el combobox
Utilizo la siguiente secuencia:
DoCmd.OpenReport "Resultado_Contable", aViewReport, , "Texto81=" & Me.Cuadro_combinado3
- "Resultado_Contable" es el Informe
- "Texto81" es el textbox del informe a donde deseo llevar el a├▒o seleccionado en el formulario
- "Cuadro_combinado3" es el combobox del formulario


A continuaci├│n, una vez llenado el TextBox con el a├▒o importado desde el formulario, quisiera filtrar los datos del resto del formulario por ese mismo a├▒o. Ahora estoy utilizando la siguiente secuencia:
=DSuma("[Debe]";"[Libro_Contabilidad]";"Cuota='Anual' And A├▒o_Apunte='Texto81.Value'")
- "Debe" es el Campo donde busca los datos de la tabla
- "Libro_Contabilidad" es el nombre de la Tabla
- "Cuota" es el campo por el que filtro en ├ęste caso el tipo de pago "Anual"
- "A├▒o_Apunte" es otro campo de la Tabla donde tengo los a├▒os para filtrar. Aqu├ş intento llevar el a├▒o desde el TextBox del informe, aunque supongo que no ser├í la forma correcta, me podr├şais decir como hacerlo ?

Llevo horas y cientos de páginas visitadas, he visto todo tipo de ayudas a otros internautas, pero no me ha funcionado nada hasta la fecha.

Un saludo y muchas gracias a todos
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

Importar un dato de un combobox a un informe

Publicado por Anonimo (809 intervenciones) el 21/04/2017 17:05:21
En esta parte de la expresi├│n, se compara un dato ('A├▒o_Apunte') que se supone num├ęrico, con un texto (lo cual es un error), pero el mayor error es que es un literal y tanto da que ese literal sea ('Texto81.Value') como si se le pone como texto ('Hace un d├şa soleado').

Por orden:
.- si ambos campos son num├ęricos, sobran las comillas simples
.- si ('Texto81.Value') representa a una variable (o un objeto del formulario), ha de sacársele de la expresión o bien darle la ruta absoluta.

Ruta absoluta (y num├ęrico):
..... And A├▒o_Apunte= Forms!MiFormulario!Texto81")

Si la ruta es relativa (objeto del formulario activo):
..... And A├▒o_Apunte= " & Me.Texto81)

Y la variaci├│n si los datos referentes fueran texto:
ruta relativa (objeto del formulario activo):
..... And A├▒o_Apunte= '" & Me.Texto81 & "'")
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

Importar un dato de un combobox a un informe

Publicado por Roberto (24 intervenciones) el 25/04/2017 22:54:10
Pues una vez probado, no logro ponerlo en práctica, o no me entero muy bien, o no se como hacerlo

Pero por lo que veo, estoy comentiendo un error, comparando datos, cuando lo primero que deseo, es importarlo.

O sea, lo que deseo es, que el dato que yo elija en el ComboBox "Cuadro_Combinado3", una vez hago click en el bot├│n del formulario que lo contiene "FM_Resultado_Contable" me cierre dicho formulario y me importe el a├▒o del cuadro combinado al "Texto81" del informe "Resultado_Contable". Es que ese dato lo pongo como cabecera del informe tipo t├ştulo. "Resultado Contable a├▒o: XXXX"

1
2
3
4
Private Sub Comando11_Click()
DoCmd.OpenReport "Resultado_Contable", acViewReport, , "Texto81=" & Me.Cuadro_Cobinado3
DoCmd.Close acForm, Me.Name
End Sub

Una vez tenga el dato en el "Texto81" del informe "Resultado_Contable" lo que deseo, es utilizar ese mismo dato contenido como filtro del mismo informe, para que coja los datos de la tabla "Libro_Contabilidad" pertenecientes a ese a├▒o.
1
=DSuma("[Debe]";"[Libro_Contabilidad]";"Cuota='Anual' And A├▒o_Apunte='Texto81.Value'")

No logro ni lo uno ni lo otro.
Agradezco la ayuda y lamento no contestar y probar con más rapidez, pero entre unas cosas y otras me ha sido imposible.

Much├şsimas gracias por la ayuda
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

Importar un dato de un combobox a un informe

Publicado por Anonimo (809 intervenciones) el 26/04/2017 20:40:10
Conceptualmente hay errores, uno consiste en cerrar un objeto e intentar obtener un dato de el (si esta cerrado, a cualquier efecto 'no existe'), otro es la asignaci├│n en uno de los argumentos (que es un filtro) de un valor a un objeto.

Yo enfocar├şa su soluci├│n de forma diferente, lo ideal seria (antes de cerrar el formulario) guardar el dato en una variable y tras ello olvidarme del formulario (porque lo cierro , minimizo o borro en caso extremo).

Considerando pues el uso de una variable, tenemos dos opciones, una publica o una privada, personalmente optar├şa por la privada y mas aun por la que tiene impl├şcita el propio informe: OpenArgs

En el formulario (y como paso previo a su cierre):
DoCmd.OpenReport "Resultado_Contable", , , , , Me.Cuadro_Cobinado3


En el informe (y en la secci├│n donde este ubicado 'Texto81')
Me.Texto81 = Me.OpenArgs

Y si texto81 es un dato provisional (solo se utiliza para pasar el valor), lo ideal es ignorarlo y aplicar el dato allá donde corresponda:

Lo ideal:
=DSuma("[Debe]";"[Libro_Contabilidad]";"Cuota='Anual' And A├▒o_Apunte= " & Me.OpenArgs)

Pero el signo de igualdad me hace sospechar que esa asignación se aplica en el origen del control (en diseño, no en VBA) y si es asi, no reconocerá la variable, utilizaremos una asignación en VBA: en la sección donde se ubique (presumo que el pie de pagina o asimilado)
Me.[nombre del cuadro de texto] =DSum("[Debe]";"[Libro_Contabilidad]";"Cuota='Anual' And A├▒o_Apunte=" & Me.OpenArgs)
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
Revisar pol├ştica de publicidad