Consulta con un parámetro 'formateado' (¿?)

Dudas sobre Tablas, Consultas, Formularios, Informes...
Rafael
Nivel 6
Mensajes: 239
Registrado: Dom Dic 27, 2015 10:33 am

Consulta con un parámetro 'formateado' (¿?)

Mensajepor Rafael » Mar Feb 23, 2021 8:08 pm

Hola a todos. A ver si consigo hacerme entender:

Veréis. En una consulta parametrizada diseñada a fin de que, tras su ejecución, se me devuelva el valor de los gastos realizados en determinada Finca y Campaña Agrícolas, tengo establecido como criterio, además del parámetro Finca -con el que no hay problema alguno-, el de Campaña del siguiente modo: [Formularios]![Formul_EntradaDeDatos]![Campaña].

Tras la ejecución de la consulta, ésta, en una columna específica prevista para ello, hago que me muestre los "GastosAcumuladosEnLaCampaña" recogida en el campo Campaña del Formul_EntradaDeDatos.

Teniendo en cuenta que la Campaña Agrícola en la aplicación de que se trata, viene definida por dos años, normalmente el actual y el siguiente separados por el símbolo "/", de tal forma que, para la campaña actual, que a su vez es la que aparece en el Formul_EntradaDeDatos, lógicamente, y estaría conformada por el binomio de años "2021/2022", ¿cómo le digo a la consulta que me devuelva el valor de los GastosDeLaCampañaPrecedente, formateando adecuada y convenientemente el parámetro de la campaña figurado en el Formul_EntradaDeDatos?

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 1302
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Sveinbjorn » Jue Feb 25, 2021 8:31 am

Hola Rafael,

pues yo, al menos, soy incapaz de ver cual es tu problema y qué es lo que quieres conseguir....
Sveinbjorn El Rojo

Rafael
Nivel 6
Mensajes: 239
Registrado: Dom Dic 27, 2015 10:33 am

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Rafael » Jue Feb 25, 2021 9:32 am

Hola Diego!!! Buenos días.

Resumiendo mucho: En el Formulario de Entrada de Datos -Formul_EntradaDatos- tengo el valor de la campaña actual, pongamos por caso que es la 2020-2021, ¿no?, pues bien, quiero ejecutar una consulta cuyo parámetro sea la campaña anterior, que, en el caso que indico sería la 2019/2020...

Durante el tiempo que el foro ha estado fuera de combate, Miquel, a quien me dirigí interesándome por esta circunstancia, tuvo la amabilidad de darme una pista, la función left, en base a ella creo acariciar la solución a mi pregunta, he construido el parámetro -castellanizado pues estoy en una consulta castellana... :) - Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4-1) & "/" & Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4), y en esas estoy... de momento no puedo cerrar el asunto, pues la consulta no me devuelve valores, pero deduzco que la solución está más o menos cerca porque al menos no se me rechaza de plano el invento... :)

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

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Neckkito » Jue Feb 25, 2021 10:52 am

Prueba con:

Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4)-1 & "/" & Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4)

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

Rafael
Nivel 6
Mensajes: 239
Registrado: Dom Dic 27, 2015 10:33 am

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Rafael » Jue Feb 25, 2021 11:09 am

Miquel, al copiar tu parámetro como criterio de la consulta, Access, automáticamente, lo transforma en: Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4)-"1" & "/" & Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4), encerrando como ves el 1 de la expresión aritmética anterior, entre comillas dobles... :?: ; no contento con ello, el depurador me manda el error 3270 "No se encontró la propiedad" y tras aceptar el mensaje anterior me sombrea en el tradicional amarillo fosforito la línea de código con la que pretendía ejecutar la consulta con el parámetro erróneo: DoCmd.OpenQuery "CGtosFincaYCampaña_Precedente_SUMAS", , acReadOnly :?: :?: :?:

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

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Neckkito » Jue Feb 25, 2021 1:19 pm

Vaya! Los astros y las consultas se alían en mi contra... el Armagedón está cerca... :?

Prueba con:

CInt(Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4)-1) & "/" & Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4)
Access MVP 2017-2021
http://bit.ly/NckAccess

Rafael
Nivel 6
Mensajes: 239
Registrado: Dom Dic 27, 2015 10:33 am

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Rafael » Jue Feb 25, 2021 2:09 pm

Al introducir el nuevo parámetro Access me lo ha españolizado como: CEntero(Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4)-1) & "/" & Izq([Formularios]![Formul_EntradaDeDatos]![Campaña];4), y al lanzar la ejecución del código que ejecutaba a su vez la consulta de nuevo el familiar 3270 :|

Más: al intentar ejecutar directamente la consulta Access me dice que "Esta expresión no está escrita correctamente o es demasiado compleja para evaluarse. Por ejemplo una expresión numerica... blablabla ... Intente asignar variables... blablabla" :?

Sin embargo Miquel, siento que... Armagedón!!!! el fin está cercaaaaaa...!!!! :mrgreen: :mrgreen: :mrgreen:

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 1302
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Sveinbjorn » Jue Feb 25, 2021 2:19 pm

Y digo yo, a la vista de que el problema se está "enquistando", ¿no te sería más fácil poner en tu formulario, en vez de un cuadro de texto, un cuadro combinado con las distintas temporadas y que el usuario escoja la que quieres consultar?... :roll:

Si al origen de la fila del combinado le pones un "SELECT DISTINCT Campaña FROM TuTabla", ya te muestra automáticamente las campañas que tengas registradas en tu tabla, y así evitas, además que metan una campaña que no exista... Lo dicho, solo una idea...
Sveinbjorn El Rojo

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

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Neckkito » Jue Feb 25, 2021 2:48 pm

Ahí tienes un ejemplo con el sistema que te he estado proponiendo y con otro "de repuesto".

http://www.mediafire.com/file/g458r2ppvlim7x7/Rafael.ConsultaCampa%25C3%25B1as.zip/file
Access MVP 2017-2021
http://bit.ly/NckAccess

Rafael
Nivel 6
Mensajes: 239
Registrado: Dom Dic 27, 2015 10:33 am

Re: Consulta con un parámetro 'formateado' (¿?)

Mensajepor Rafael » Jue Feb 25, 2021 5:37 pm

Si me hubiera cabido alguna duda -QUE NO ES EL CASO, eh?... :shock: - de que ACCESS es pura magia... casi brujería... :o está claro que en este momento mis dudas se hubieran disipado completamente...

Y es que siguiendo la pista del primer ejemplo que me daba Neckkito en el accbd de prueba que enlazaba en la entrada anterior (escribo esto por si sirve de algo a alguien en un futuro) he hecho lo siguiente: En mi formulario de entrada de Datos -Formul_EntradaDeDatos- he añadido dos cuadros de texto que he llamado C-1 y C. Después, al primero le he asignado el Origen de Control =Izq([Campaña];4)-1 y al segundo el de =Izq([Campaña];4).

Acto seguido he editado el diseño de la consulta a que se alude en esta conversación, y en su campo Campaña le he metido el parámetro [Formularios]![Formul_EntradaDeDatos]![C-1] & "/" & [Formularios]![Formul_EntradaDeDatos]![C].

Vale. Las cosas han empezado a pintar bien, cuando, ya en la vista normal del formulario, he dado entrada a la Campaña 2020/2021 y percibido que inmediatamente después se llenaban los cuadros de texto C-1 y C con los valores 2019 y 2020, tal y como pretendía, y, MÁS AÚN CUANDO, EJECUTADA LA CONSULTA, en otro cuadro de texto, como así había indicado la suma de gastos para determinada finca en tal campaña... :shock:

Lo dicho: pura magia... casi diría que brujería... claro que para estas cosas hay que ser un brujo, como sin duda lo son Miquel Neckkito y Diego SveinBjorn... yo me conformo con el mucho más humilde papel de [i]aprendiz de ídem... :) :)

Perdonadme este desahogo, lo hago completamente shockeado!!! :o


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado