función no disponible

Dudas sobre Tablas, Consultas, Formularios, Informes...
mam222
Nivel 4
Mensajes: 101
Registrado: Jue Oct 05, 2017 7:18 pm

Re: función no disponible

Mensajepor mam222 » Sab Feb 10, 2018 6:23 pm

Gracias Pitxicu:

El lunes voy a ejecutar la BD .accde en la PC de producción; lo que entiendo por lo que me dices es :

- Las referencias me deben aparecer exactamente en el mismo orden en que las tengo en la BD fuente.

- Si alguna falta ó no aparece en el mismo orden entonces esa debe ser la causa por la que no corre en el servidor de producción.

Y si esto sucede, que es lo que determina ó hace que (en el servidor de producción) cambie el orden que trae mi BD ?

Aparte: Influye en algo en una aplicación Access el orden en que estén agregadas (ó aparecen en el cuadro de diálogo "referencias disponibles") ?

Gracias nuevamente, amigo.

pitxiku
VIP
Reto01
Mensajes: 175
Registrado: Sab Sep 30, 2017 6:23 pm

Re: función no disponible

Mensajepor pitxiku » Sab Feb 10, 2018 8:44 pm

mam222 escribió:- Las referencias me deben aparecer exactamente en el mismo orden en que las tengo en la BD fuente.

Esa es la idea, aunque Mexman ya ha indicado que tuvo un problema por no tener las referencias en el mismo orden.

mam222 escribió:- Si alguna falta ó no aparece en el mismo orden entonces esa debe ser la causa por la que no corre en el servidor de producción.

Y si esto sucede, que es lo que determina ó hace que (en el servidor de producción) cambie el orden que trae mi BD ?

Si una referencia está rota (revisa la propiedad IsBroken), esa referencia/librería/objeto no estará disponible, y por tanto, no puede ser usado. Y cuando lo intentamos usar salta un error. Y hasta es posible que salte un error en un sitio que no tiene nada que ver con esa referencia, o que ni siquiera se esté usando en ese momento.

mam222 escribió:Aparte: Influye en algo en una aplicación Access el orden en que estén agregadas (ó aparecen en el cuadro de diálogo "referencias disponibles") ?

En un principio, el orden de las referencias sólo sirven para saber cuándo hay que usar un objeto u otro, cuando se llaman igual. Un ejemplo: supongamos 2 referencias: Bosque profundo y Valle frondoso. Ambas referencias tienen un mismo objeto: Arbol. Si nosotros dimensionamos un objeto Arbol tal que así:

Código: Seleccionar todo

Dim UnArbol As Arbol


¿A cuál de las 2 referencias estamos haciendo uso? La solución es simple: a la primera en la lista de referencias.

Y para evitar problemas por este tipo de situaciones, lo que se recomienda es indicar la librería o referencia a la que nos estamos refiriendo:

Código: Seleccionar todo

Dim UnArbol As BosqueProfundo.Arbol
Dim OtroArbol As ValleFrondoso.Arbol


Hay que escribir un poco más, pero te ahorras dolores de cabeza.

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

Re: función no disponible

Mensajepor Neckkito » Dom Feb 11, 2018 9:30 am

Si se me permite, y solo por dar una pincelada a lo que comenta Pitxiku, lo que te está diciendo, por si quieres tener otro enfoque de búsqueda de información, es que utilices lo que se denomina el late binding en lugar del early binding.

Dicho a lo salvaje: si tu código necesita tener registradas las referencias para funcionar sin errores estás trabajando con early binding; si no, estás trabajando con late binding.

Saludos!
Access MVP 2017-2019
http://bit.ly/NckAccess

mam222
Nivel 4
Mensajes: 101
Registrado: Jue Oct 05, 2017 7:18 pm

Re: función no disponible

Mensajepor mam222 » Lun Feb 12, 2018 4:57 pm

Buenos Días Amigos; muchas gracias por sus respuestas, las voy a analizar detenidamente.

El sábado envíe otro comentario y preguntas, no entiendo porqué no les habrá llegado.

Otra pregunta: Que factor es lo que determina el orden en que aparecen las referencias en el proyecto, y si éstas no aparecen en el mismo orden en otra PC, a que se debe ésto ?. A que se puede deber que en otra PC varíe el orden de las referencias de mi archivo .accde ?

pitxiku
VIP
Reto01
Mensajes: 175
Registrado: Sab Sep 30, 2017 6:23 pm

Re: función no disponible

Mensajepor pitxiku » Lun Feb 12, 2018 8:42 pm

El orden de las referencias está determinado por cuándo has agregado esa referencia. Eso, siempre y cuando no modifiques la prioridad con las flechas.

En cuanto a por qué cambian cuando se lleva la base de datos a otro PC, ni idea. Yo pensaba que, como se puede modificar la prioridad, el orden debía mantenerse en los cambios. Pero parece que no es así :?

mam222
Nivel 4
Mensajes: 101
Registrado: Jue Oct 05, 2017 7:18 pm

Re: función no disponible

Mensajepor mam222 » Mar Feb 13, 2018 4:23 pm

Amigo Pitxiku:

Ejecuté la rutina que me sugeriste de barrer todas las referencias de la aplicación y desplegar todas sus propiedades.

Al llegar a una de ellas en particular, de una dll provista por el ex-programador, y tratar de desplegar su propiedad "FullPath", me envió el
siguiente error:

"Error Numero: -2147319797 Error en el método 'FullPath' del objeto 'Reference'"

Sabes a que se refiere ?. Mientras lo voy a ir buscando en Google.

Gracias.

MexMan70
Colaborador
Mensajes: 95
Registrado: Mié Dic 09, 2015 10:35 pm

Re: función no disponible

Mensajepor MexMan70 » Mié Feb 14, 2018 5:59 pm

Hola mam222, creo que ya te ha explicado Pitxiku y Neckkito lo de Late Early y Early Binding; si tienes varias referencias y en ellas hay alguna propiedad repetida entonces entra en conflicto y lo mas sensato es hacer referencia de la manera como te han indicado (LaReferencia.ElObjeto).

Creo que lo del orden (de las referencias) que se mueve es debido a que si una no esta en la PC destino y posteriormente la agregas es cuando sufre el cambio de orden. Para ello tendrás que asegurarte que ha quedado en el mismo orden que en tu PC Origen.

Lo recomendable es usar las librerías con Early Binding, con ello te evitas esos problemas y ademas, puedes verificar mediante código si están registradas o existen para advertir al momento de ingresar que falta tal o cual referencia y te des a la tarea de realizarlo ya sea de manera manual o automatizada, para esto hay programas que te realizan una instalación como lo es Inno Setup, con esta aplicación ademas de instalar tu aplicación, puedes registrar las librerías que consideres pertinentes.

Saludos !

mam222
Nivel 4
Mensajes: 101
Registrado: Jue Oct 05, 2017 7:18 pm

Re: función no disponible

Mensajepor mam222 » Mié Feb 14, 2018 6:25 pm

Gracias MexMan; No he tenido tiempo de analizar todo lo que me han enviado, pero ya resolví el problema. Ya configuramos un nuevo servidor de producción con el .accde que generé y ya trabaja bien. Pero si voy a checar todo ésto (probablemente el sábado, aquí no tengo tiempo ni de respirar), tanto por conveniencia como programador tanto por curiosidad intelectual.

Gracias.


Volver a “Objetos Access”

¿Quién está conectado?

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