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

Tema cerradoVariable en origen de control

 Responder Responder
Autor
Mensaje
leon3763 Ver desplegable
Nuevo
Nuevo


Unido: 14/Febrero/2006
Localización: España
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Tema: Variable en origen de control
    Enviado: 04/Marzo/2018 a las 19:44
Buenas tardes a todos.
En primer lugar quiero pedir perdón, porque seguramente estoy preguntando una obviedad, pero llevo unos días detrás de ello y no le encuentro solución. 
Hace unos años hice una BD y me funcionaba bien, pero a partir de algún cambio de versión de access me empezó a dar un fallo, concretamente en unos informes.
Resulta que cuando abro el informe, en función de unas opciones que marco en el formulario que abre el informe, se deben mostrar en unos cuadros de texto el valor de unas variables que declaro en el código del informe. Las tengo puestas en un cuadro de texto, en el origen del control, de esta forma =[variable].
El problema, como digo, es que hasta hace un tiempo esto funcionaba pero a partir de algún cambio de versión ya no funciona, ahora lo que me sale en el informe es #¿Nombre?. Seguramente es una cosa tan simple como un error de sintaxis, pero no consigo encontrarlo.
Muchas gracias de antemano.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11167
Enlace directo a este mensaje Enviado: 04/Marzo/2018 a las 20:25
¿El campo tiene un origen del control similar a?

=[forms].[MiFormulario]!Micampo

Si es así prueba a cambiar [forms] por [formularios]



Edito: este error era al revés, había que cambiar [Formularios] por [Forms] ocurría al cambiar de access 2000 a otro más moderno.


Editado por Mihura - 05/Marzo/2018 a las 09:10
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
leon3763 Ver desplegable
Nuevo
Nuevo


Unido: 14/Febrero/2006
Localización: España
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Enviado: 04/Marzo/2018 a las 21:20
Voy a tratar de explicarme mejor.
Donde me falla, es en un informe, concretamente en un cuadro de texto donde me debe poner el valor de una variable que declaro en el código del informe. 
El origen del control lo tengo puesto así: ="("+[Variable]+")", porque quiero que el dato en cuestión me salga entre paréntesis (también he probado a poner & en lugar de +).
La variable la declaro y le doy valor de la siguiente forma en el código del informe

Option Compare Database
Public Variable As String

Private Sub Report_Open(Cancel As Integer)

     Select Case Forms![Opciones_Listados]!GrupoOpciones
Case Is = 1
            Variable = "Valor1"
        Case Is = 2
            Variable = "Valor2"
        
    End Select

De manera que toma un valor u otro según la opción seleccionada en el grupo de opciones que hay en el formulario "Opciones_Listados", que es desde donde llamo al informe.
Un saludo.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11167
Enlace directo a este mensaje Enviado: 05/Marzo/2018 a las 09:12
No te acabo de entender,

- he creado un cuadro de texto en el formulario llamado variable y al ejecutar este código me pone un valor u otro en función del valor que tenga grupo de opciones:

Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
    
    Select Case Forms!Clientes!GrupoOpciones
        Case 1
            Me.Variable = "Valor1"
        Case 2
            Me.Variable = "Valor2"
    End Select
    
End Sub

Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
leon3763 Ver desplegable
Nuevo
Nuevo


Unido: 14/Febrero/2006
Localización: España
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Enviado: 05/Marzo/2018 a las 13:33
Me explico.
Yo abro el informe desde un botón que tengo en un formulario (Opciones_Listados). En ese formulario selecciono unas opciones con unos grupos de opciones (GrupoOpciones, en este caso). En esas opciones le marco que datos debe listar el informe y el orden de los mismos. Los datos los genera y ordena correctamente según le marco, luego el "Select Case...." funciona bien.
El problema viene por que pretendo que en función de esas opciones elegidas en el formulario, me ponga en el encabezamiento un cuadro de texto donde ponga "ordenado por......" y en ese lugar lo que corresponda.
Para hacer esto lo que tengo es el código que puse en mi anterior mensaje.
Declaraba una "variable" 

Option Compare Database
Public Variable As String


y luego en función de la elección le asignaba un texto

Select Case Forms![Opciones_Listados]!GrupoOpciones
Case Is = 1
            Variable = "Alfabetico"
        Case Is = 2
            Variable = "Nacimiento"
        End Select

Luego ese texto lo utilizo en el encabezado del informe para poner en un cuadro de texto, en el origen del control, ="(ordenado por"+[Variable]+")". Pero lo único que obtengo es el error #¿Nombre?, en el lugar donde debería aparecer el cuadro de texto.

Espero haber sido más claro.
Muchas gracias.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11167
Enlace directo a este mensaje Enviado: 05/Marzo/2018 a las 13:44
El campo que recibe el valor debe ser un cuadro de texto del informe (en modo oculto) para poder hacer referencia al mismo.

Pero yo no daría vueltas...

- en el evento al dar formato de la cabecera yo pondría el código select case al que haces referencia dando valor directamente a la etiqueta

Select Case Forms![Opciones_Listados]!GrupoOpciones
Case Is = 1
            Me.Etiqueta.Caption = "Ordenado por Alfabetico"
        Case Is = 2
            Me.Etiqueta.Caption = "Ordenado por Nacimiento"
        End Select



Editado para poner el Caption que 'me se' olvidó ...   Ouch




Editado por Mihura - 05/Marzo/2018 a las 13:46
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
leon3763 Ver desplegable
Nuevo
Nuevo


Unido: 14/Febrero/2006
Localización: España
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Enviado: 05/Marzo/2018 a las 18:32
Así sí funciona, y mucho más fácil que con las variables (aunque me queda la "espinita" de no entender porque no funciona lo de las variables).

Muchas gracias.
Por mi parte se puede cerrar el hilo.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable