** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Hacer referencia a un cuadro combinado de formular
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Hacer referencia a un cuadro combinado de formular

 Responder Responder Página  12>
Autor
Mensaje
Axl666 Ver desplegable
Colaborador
Colaborador


Unido: 18/Octubre/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 853
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Axl666 Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Hacer referencia a un cuadro combinado de formular
    Enviado: 05/Diciembre/2018 a las 02:44
 
Buenas tardes

Un saludo a todos

Espero me puedan ayudar, desde una consulta quiero hacer referencia a un control del formulario, de la siguiente forma:

TIPO: Elegir([Forms]![frm_Prueba]![Valores],[00 BD PPTO 2006]![PRESUPUESTO])

Y luego esa misma consulta la pongo como origen de datos del mismo formulario que hago referencia al control.

El error que envía es: no se ha escrito correctamente la instrucción

Espero me haya explicado bien y en espera de su ayuda.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 4922
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 09:15
Hola!

Creo que sustituyendo la (coma por punto y coma) se soluciona y añadir [Forms]!.

TIPO: Elegir([Forms]![frm_Prueba]![Valores];[Forms]![00 BD PPTO 2006]![PRESUPUESTO])

Editado por mounir - 05/Diciembre/2018 a las 09:28
Un Saludo.
Arriba
Axl666 Ver desplegable
Colaborador
Colaborador


Unido: 18/Octubre/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 853
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Axl666 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 16:07
Muchas gracias por tu amable respuesta

Pero esta instrucción hace referencia a una tabla

[Forms]![00 BD PPTO 2006]![PRESUPUESTO]

En lugar de Forms que pondría?

Saludos,

Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 759
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 18:40
Si la tabla forma parte de la consulta, con indicar el nombre del campo y, si es necesario, de la tabla sobra:

Elegir([Forms]![frm_Prueba]![Valores];[00 BD PPTO 2006]![PRESUPUESTO])

Si no tienes la tabla en la consulta, tendrás que usar una función de dominio tipo DBúsq:

- https://support.office.com/es-es/article/DBúsq-función-8896CB03-E31F-45D1-86DB-BED10DCA5937
Arriba
Axl666 Ver desplegable
Colaborador
Colaborador


Unido: 18/Octubre/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 853
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Axl666 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 19:19
 
La tabla forma parte de la consulta; he intentado ponerla de las formas siguientes pero me envía error,

TIPO: Elegir([Forms]![frm_Prueba]![Valores];[00 BD PPTO 2006]![PRESUPUESTO])

TIPO: Elegir([Forms]![frm_Prueba]![Valores];[PRESUPUESTO])

Saludos,


Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4767
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita emiliove Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Diciembre/2018 a las 20:27
A ver, creo que no estas usando la funcion Elegir como deberías, no veo valores:
La función Elegir de Microsoft Access devuelve un valor de una lista de valores en función de una posición determinada.

Es decir:
Elegir(Posición, Valor1, Valor2, Valor3)

Si yo busco la posición 2
Elegir(2, Valor1, Valor2, Valor3) el resultado va a ser Valor2

En tu caso debes usar la "coma", pues según yo esa es la indicada para América, pero puedes verificarlo en tu configuración regional.

Saludos.

Arriba
Axl666 Ver desplegable
Colaborador
Colaborador


Unido: 18/Octubre/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 853
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Axl666 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 02:05
Es correcto yo uso la coma

En una consulta de selección estoy creando el campo TIPO, el cual va utilizar el valor que quiero mostrar mediante un cuadro combinado en un formulario [Forms]![frm_Prueba]![Valores], de acuerdo al valor que seleccione en el cuadro combinado me dará los valores del campo de la tabla que seleccione ya sea el valor de [00 BD PPTO 2006]![PRESUPUESTO] o el valor de [00 BD PPTO 2006]![Tipo_Gasto]
 

TIPO: Elegir([Forms]![frm_Prueba]![Valores],[00 BD PPTO 2006]![PRESUPUESTO], [00 BD PPTO 2006]![Tipo_Gasto])

En resumidas cuentas el campo creado TIPO toma el valor del campo que se seleccione

Las instrucciones anteriores funcionan utilizando un subformulario, pero la versión anterior funciona sin utilizar un subformulario

Espero me haya explicado mejor

Saludos,



Editado por Axl666 - 06/Diciembre/2018 a las 02:16
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4767
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita emiliove Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 15:24
Al menos yo sigo sin entender explica:
En que formulario esta Tipo, el combo Valores esta en el formulario frm_Prueba, y los valores a obtener están en 00 BB PPTO 2006.

Ya comentas, saludos.

Arriba
Axl666 Ver desplegable
Colaborador
Colaborador


Unido: 18/Octubre/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 853
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Axl666 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 16:41
 
En esta primera imagen esta la consulta


En esta otra esta el formulario


Si no funcionan los enlaces pueden copiar y pegarlo en su navegador

Espero que quede un poco mas claro

Saludos,




Editado por Axl666 - 06/Diciembre/2018 a las 16:43
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 759
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 18:20
Por lo que entiendo con las imágenes, quieres cambiar la agrupación de la consulta en base a lo seleccionado en el cuadro combinado.

Si es eso, hay un problema: Elegir devuelve el valor que hay almacenado en el campo, no una referencia al campo. Y la consulta quiere saber el nombre del campo por el que vas a agrupar, no el valor del campo.

Una forma (más o menos) sencilla de hacer lo que quieres, es generar la SQL conforme lo que seleccione en el cuadro combinado, y asignarla al origen del registro del formulario.
Arriba
Axl666 Ver desplegable
Colaborador
Colaborador


Unido: 18/Octubre/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 853
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Axl666 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 19:07
 
El punto que en una versión de Access de 97 si funciona la instrucción tal cual esta

Y si se que por código lo podría hacer, solo quería ver porque no funciona a tratarlo de realizar en una versión nueva

Saludos y gracias por tu pronta respuesta


Editado por Axl666 - 06/Diciembre/2018 a las 19:17
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 759
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 19:32
Pues tienes razón, funciona. Gracias por enseñármelo :)

Mi prueba en Access 2016:

Expr1: Elegir(Val([Forms]![Formulario4]![Cuadro_Combinado0]);[Cliente];[Fecha])

Si el error sigue siendo que la instrucción está mal escrita, verifícala bien. O escríbela de nuevo poco a poco, para ver dónde está el fallo.
Arriba
Axl666 Ver desplegable
Colaborador
Colaborador


Unido: 18/Octubre/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 853
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Axl666 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 20:10
 
Ya la intente poner paso a paso y me manda el error que esta mal escrita

Pero si utilizo un subformulario si funciona

Saludos,


Editado por Axl666 - 06/Diciembre/2018 a las 20:15
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 4922
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 21:11
Hola!

No será porque el cuadro combinado tiene mas de una columna y la columna dependiente no es un numero?
Un Saludo.
Arriba
Axl666 Ver desplegable
Colaborador
Colaborador


Unido: 18/Octubre/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 853
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Axl666 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Diciembre/2018 a las 23:12
El cuadro combinado esta formado de la siguiente manera en lista de valores:

1;"Entidad";2;"Ledger"

Pero con si funciona con un subformulario?

Saludos,
Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable