Función Agregar Fecha en cosultas

Dudas sobre Tablas, Consultas, Formularios, Informes...
Willy
Nivel 1
Mensajes: 6
Registrado: Mié Jun 12, 2019 2:21 am

Función Agregar Fecha en cosultas

Mensajepor Willy » Jue Jun 20, 2019 11:39 pm

Esto si que que raro... deseo sumar 5 años a una fecha de fabricación de los Chalecos antibalas, luego de 5 años se vencieron. la sintaxis en la consulta (campo calculado: FechaVence) es FechaVence: AgregFecha("aaaa",5,[FechaFabric]) es muy sencillo... pero da error "es posible que haya especificado un operador sin un operador" no entiendo que sucede el código lo hice con el generador de expresiones pero sigue dando el mismo error. Puede algún alma generosa tirarme una soga?. gs

pitxiku
VIP
Reto02
Mensajes: 290
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Función Agregar Fecha en cosultas

Mensajepor pitxiku » Vie Jun 21, 2019 12:19 am

Dependiendo de tu configuración regional, es posible que tenga que cambiar la comas (,) por puntos y coma (;).

Eso, si lo estás usando en una consulta. En un control de un formulario o informe, hay que poner un igual al principio por ser una expresión (=).

Willy
Nivel 1
Mensajes: 6
Registrado: Mié Jun 12, 2019 2:21 am

Re: Función Agregar Fecha en cosultas

Mensajepor Willy » Vie Jun 21, 2019 10:44 pm

Bueno. M. G. ya cambie , por ; y solo funciono en access 2010. parece que el problema va más allá de la configuración regional. en access 2016 al utilizar AgregFecha("aaaa",5,[campo]) da un error in especifico, al realizar un modulo: Select AgregFecha no lo reconoce, solo toma DateAdd("yyyy",5,[campo]) pero sigue dando error, al utilizar el generador de expresiones en una consulta toma AgregFecha pero da un error de compilación. he probado todos los separadores comillas dobles, simples, comas punto y comas pero aparentemente existe un error en el idioma AgregFecha se lista en el generador de expresiones pero en modulo no aparece solo reconoce DateAdd. Es más cuando abro la base de datos con access 2010 todo bien pero cuando la abro con access 2016 da error en la consulta donde use esta función o DateDiff o DifFecha. Tiene solucion el problema? en mi trabajo tenemos Pcs con Access 2010 y con 2016, estoy al horno¡¡¡¡

pitxiku
VIP
Reto02
Mensajes: 290
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Función Agregar Fecha en cosultas

Mensajepor pitxiku » Lun Jun 24, 2019 8:42 pm

Si estás usando varias versiones de access, puede ser que tengasv un problema de referencias:

- editor vba -> menú herramientas -> referencias

O puedes tener problemas de compilación:

- editor vba -> menú depuración -> compilar

Y si las versiones no son de idioma español, fallará porque AgregFecha solo lo entiende el access en español.

Otra posibilidad es crear tu propia función personalizada en vba, a la que le pases los datos necesarios, y que sea esa función la que haga el cálculo, ya que en vba solo existe, si o si, DateAdd.

Willy
Nivel 1
Mensajes: 6
Registrado: Mié Jun 12, 2019 2:21 am

objetos access

Mensajepor Willy » Lun Jun 24, 2019 9:16 pm

me doy por vencido he detectado un error en la función AgregFecha (DateAdd) que aparentemente no es la única que da el mismo problema según las consultas que he realizado en linea. Las soluciones propuetas fueron varias... ver las referencias a objetos... no era ese el problema ya que al tratar de activar la referencia Microsoft DAO 3.6 O.L. dio un error "el nombre entra en conflicto... con objeto existente" luego trate de hacer la función tomando el código en ingles... no resulto, luego instale el syswow64 ya que mi maquina corre access 2013 en 64... tampoco resulto. luego trate de usar otro objeto similar DifFecha tambien da el mismo error... no reconoce el comando. Posterriormente cambié de maquina utilice un Access 2010 32 bit con win 7 y caramba en principio funciono: FechaVence: AgregFecha("aaaa";5;[FechFabric]) pero luego de unos minutos comenzó a dar el error, debo aclarar que si funciona en Access 2010 32 con windows 10 o Access 2010 64 bit con windows 10. en fin no hubo forma de hacerlo funcionar y esto me hizo pensar que Access tiene un problema... no es estable si programo en una maquina debería funcionar en las demás o por lo menos identificarme correctamente el problema ya que un error genérico (error 3085) no ayuda mucho. La SOLUCIÓN fue dejar de utilizar las funciones agregadas de dominio por una mas sencilla: AñosDeUso: año([FechFabric])-año(Fecha()). esto funciono en todas las maquinas sin importar el Access ni el sistema operativo.

pitxiku
VIP
Reto02
Mensajes: 290
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Función Agregar Fecha en cosultas

Mensajepor pitxiku » Mar Jun 25, 2019 6:54 pm

Si estás usando versiones distintas de access, puedes encontrarte con problemas. Access no suele tener problemas al abrir una base de datos antigua en un access nuevo, pero puede fallar cuando abres una base de datos con una versión de access nueva y luego con una versión de access más antigua.

Además, aunque existe la versión de 64 bits, Microsoft solo recomienda si uso en determinados casos:

- https://www.google.com/url?sa=t&source= ... 1481375141

Otras recomendaciones, en caso de que tenga que seguir lidiando con distintas versiones de access:

- Tener las tablas y sus datos en un archivo mdb (versión 2000 o 2003), para que las versiones nuevas no actualicen las tablas y den fallos al abrirlas con versiones antiguas.

- Tener un archivo accdb o mdb en cada cliente, que tenga vínculos a la base de datos con las tablas. Así, podrás optimizar estás bases de datos y no se pegaran las versiones.

- DAO 3.6 es la librería que se usaba en access 2000 o 2003 para trabajar con los datos. Las versiones nuevas trabajan con otra librería. Por eso el error de conflicto.

emiliove
Colaborador
Reto04
Mensajes: 374
Registrado: Lun Nov 23, 2015 4:05 pm

Re: Función Agregar Fecha en cosultas

Mensajepor emiliove » Mié Jun 26, 2019 1:02 am

Hola pitxiku
pitxiku escribió:Aunque existe la versión de 64 bits, Microsoft solo recomienda su uso en determinados casos


Leyendo el articulo yo veo que ahora si dice: Si su equipo ejecuta la versión de 64 bits de Windows, elija la versión de 64 bits de Office si:

Trabaja con conjuntos de datos de gran tamaño: La versión de 64 bits de Office tendrá un mejor rendimiento en estos casos.
Trabaja con el tipo de datos Número grande en Access y aunque este tipo de datos es compatible con Access de 32 bits, es posible que vea resultados inesperados al ejecutar código o expresiones que usen bibliotecas nativas de VBA de 32 bits. VBA de 64 bits proporciona el tipo de datos LongLong, que es completamente compatible con números grandes.


Y la recomendación de 32 bits: Cuando el Win es de 32 bits y lo demás suena que se puede hacer siempre en 64 bits. Yo recuerdo que hace años access2003 o quizas 2007 si recomendaba explicitamente instalar el de 32 bits salvo que fuera servidor.


Saludos.

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

Re: objetos access

Mensajepor Sveinbjorn » Mié Jun 26, 2019 12:12 pm

Willy escribió:La SOLUCIÓN fue dejar de utilizar las funciones agregadas de dominio por una mas sencilla: AñosDeUso: año([FechFabric])-año(Fecha()).


Otra aclaración, AgregFecha no es una función agregada de dominio. Las funciones agregadas de dominio son DBúsq, DMáx, DMín, DPrimero, DÚltimo, DSuma... https://support.office.com/es-es/articl ... 05f1893be5 y otro más http://accessjuancots.blogspot.com/2008 ... as-de.html
Sveinbjorn El Rojo

pitxiku
VIP
Reto02
Mensajes: 290
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Función Agregar Fecha en cosultas

Mensajepor pitxiku » Jue Jun 27, 2019 1:21 pm

emiliove escribió: Yo recuerdo que hace años access2003 o quizas 2007 si recomendaba explicitamente instalar el de 32 bits salvo que fuera servidor.


Lo que hace no releer estos artículos de Microsoft :roll:

Entiendo que desde la primera versiones de 64 bits, access ya ha mejorado lo suficiente como para que no haya que pensarlo antes de instalar esta versión.

Avatar de Usuario
OmarRamirez
Nivel 1
Mensajes: 10
Registrado: Jue Nov 08, 2018 10:24 pm

Re: Función Agregar Fecha en cosultas

Mensajepor OmarRamirez » Jue Jul 11, 2019 11:35 pm

Cual es el error que te aparece cuando tratas de hacer la operación.
Gerente del área de mantenimiento de refrigeradores | me gusta mucho la programación.


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados