Newsgroup: it.comp.appl.access
Titolo: Riferimenti mancanti e Declare Procedure ecc... grande caos!

Buon giorno NG!
 
Scenario funzionante:
"Compilazione" MDE da host con Win XP 32 / Access 2003 / Outlook e Excel 2010 destinato su vari client. con Win 10 64 bit / 7 64 bit / XP 32bit con Office 2016 / 2010 / 20017. Tutto funzionante perfettamente nei vari destinatari con "ambienti diversi"
 
Scenario disastro: stessi destinatari, MA con "compilazione" MDE da Win 7 64 bit / Access 2003 / Office 2010. Non funziona su nessuno dei destinatari citati sopra.
 
Una soluzione l'ho trovata ma è snervante perché mi costringe a "riaccendere" la vecchia macchina virtuale Win XP, ricreare in quella macchina l'mdb reimportando tutti gli oggetti, tabelle, moduli ecc, e poi da li creare l'mde e poi distribuire. Tutto questo lo devo fare OGNI volta che devo rilasciare aggiornamenti importanti che ho sviluppato invece su Win 7.
 
Una soluzione bella complicata da risolvere! Ci sono suggerimenti, alternative?
 
Grazie
 
Daniele


"..non funzionante.."  non e' che lascia molte possibilita' di aiutarti
Magari se spieghi meglio qualche speranza c'e'


Si perdono alcuni riferimenti delle librerie e quindi Access si intrippa restituendo erorri su errori tipo "oggetto mancante" ecc. Eppure prima i destinatari avevano versioni di office molto diverse tra loro e sistemi operativi a 32 e 64bit.
 
Ora invece... i riferimenti non vengono più "relativizzati" sul PC destinatario perché il PC "sorgente" è cambiato.

continuo solo per una modesta (issima) osservazione:
 
utilizzo anch'io procedure mde realizzate con Access 2003, e 2000,
e fatte girare su runtime 2007
ma vedo che ultimamente sono segnalate varie magagne con questi ambienti,
 
io realizzo solo piccole procedure e non faccio testo
 
cerco di utilizzare solo il "core" di Access
 
però almeno due inghippi di rilievo li ho "presi"
(in step funzionanti da anni):
-- non funzionamento di transferSpreadsheet 
(POI, e quindi adesso, risolto dagli aggiornamenti Windows)
-- malfunzionamento di una sequela di query inserite in una transazione DAO
(sono consapevole che è considerata una scommessa,
però la adopero SOLO in monoutenza e ha funzionato per anni)
 
Che siano, tutte queste, gentili e premurose indicazioni 
a passare a versioni più recenti ?


"..alcuni riferimenti.."
"..restituendo errori su errori.."
Non abbiamo la sfera di cristallo
Cerca di aiutarti, descrivendo dettagliatamente il problema
Dove per 'dettagliatamente' si intenda 'descrivere il problema come se 
lo stessi illustrando a tua nonna, facendole capire'


E' lo stesso sintomo che avviene quando nella finestra "Codice" -> Strumenti -> Riferimenti nell'elenco c'è una o più voci con "MANCA".
Nel mio caso i riferimenti ci sono tutti, ma il sintomo è lo stesso. L'errore restituito a video non ha nulla ha che fare con il reale problema. Del tipo "Errore restituito: manca energia elettrica, impossibile accendere la lampadina", quando invece bisogna mettere il refrigerante nel radiatore.


Capisco, ma se non dai indicazioni precise, non credo qualcuno possa 
aiutarti, anche volendo
Auguri
 


Ti ho descritto esattamente quello che accade. Se non puoi rispondere è perché non hai incontrato questa stranezza. Ti ringrazio ad ogni modo. Il problema è proprio questo: l'errore visualizzato non ha nulla a che fare "L'espressione Su apertura immessa come impostazione delle proprietà di evento ha provocato il seguente errore: L'oggetto o la classe non supporta il gruppo di eventi" 
Questo messaggio identifica che mancano i riferimenti che ho messo in oggetto del thread.

Proverei, a titolo di comprensione, ad inserire una fiction di startup che Fucka le references e stampa su log le varie IsBroken ecc...
Ti potresti accorgere se quello di cui lamenti è veramente attinente a riferimento mancanti.
Se così non è... serve qualche considerazione più avanzata che solo con un ottimo sistema di LOG, teoricamente dovresti già averlo, forse... puoi risolvere.
 
@Alex


Ti faccio notare che solo alla 4 risposta salta fuori la descrizione 
dell'errore che rilevi ".."L'espressione Su apertura immessa.."
Poi, mi spieghi come fai a supporre che l'errore non c'entri niente con 
la causa che l'ha generato?
Finche' si brancola nel buio, qualsiasi appiglio puo' essere buono, pure 
quello descritto dall'errore
 
A mio parere le prime verifiche sono sui riferimenti, che spesso con
versioni diverse di Office causano problemi
Fatti una form col controllo dei riferimenti, poi (da una copia del 
programma) togli tutte le form, ricolpila ed avvia
Dovresti vedere se vengono caricati tutti e soprattutto se sono quelli 
giusti, puoi visualizzare anche la versione del reference
 
Poi, hai detto che si compila normalmente, proverei a de-compilarlo (o 
esportare tutto in txt e poi re-importare su file nuovo) e riavviare la 
compilazione magari salta fuori qualcosa che non passa e ti da' qualche 
indizio


COme oggetto ho specificato sin da subito che si tratta di "Riferimenti". Nelle più variegate versioni office a cui era destinato il mio mde no ho mai avuto problemi. Il problema è sorto da quando sono passato da Win XP a Win 7 e da lì si fa fatica perfino a tornare indietro pur imporndo tutti gli oggetti db in un nuovo db a manina.
Grazie comunqute


Dovrò scovare l'ago nel pagliaio... che dire... non ho scelta.
Un'alternativa è migrare sulle versioni più recenti... Prima o poi lo dovrò fare!
Grazie.

Il giorno venerdì 23 febbraio 2018 19:25:28 UTC+1, @Alex ha scritto:

   ' Check through the selected references in the References dialog box.
   For Each chkRef In Application.References
 
      Debug.Print chkRef.Name, chkRef.BuiltIn, chkRef.FullPath, chkRef.GUID, chkRef.IsBroken, chkRef.Kind, chkRef.Major, chkRef.Minor
      If chkRef.IsBroken Then
         ' ecccc eccecce ecc
      End If
 
   Next
 

Il giorno venerdì 23 febbraio 2018 19:25:28 UTC+1, @Alex ha scritto:

Una volta scovati i riferimenti accade che il metodo Application.References.Remove myBrokenRef non funzionaaa!
UFFFFFFFFF!


Daniele, non so di che Reference stai parlando, ma prima del REMOVE devi aggiungere la Verifica della proprietà BuiltIn(queste non sono rimovibili)...
 
Potresti anche provare dalla Libreria VBE:
Application.VBE.ActiveVBProject.References.Remove(TuaReference) 
 
Verifica questo Articolo:
https://stackoverflow.com/questions/5593588/add-references-programmatically
 
 
@Alex


Grazie Alex.
Alla fine "pigramente" (e poi mica tanto) istanzierò set obj = CreateObject("Universal.Object")
... i miei "riferimenti" sono già broken abbastanza...

aggiungo una mia osservazione diretta,
forse NON è nemmeno pertinente, 
ma lascia perplessità riguardo al path REALE 
(ammesso che lo si debba e possa gestire  ...)
 
allora:
tempo indietro mi ha incuriosito un 3D 
(conservo solo l'argomento, non il link)
in cui il richiedente dichiarava di NON riuscire
a localizzare VBE7.ddl (su cui era poi in grado di intervenire)
e quindi chiedeva aiuto a riguardo.
 
bene:
in pratica è quello che mi ritrovo anch'io con A2013
(installato dal sito MS con licenza acquistata online: confezione)
 
come si vede qui
https://drive.google.com/open?id=1m6C3ubTreYHiBE9wUX9gSsfk4a1_Lwvy
 
 
il percorso evidenziato da Riferimenti (file jpg)
NON è quello effettivo (file txt)
 
inoltre a me succede che con Windows 8.1
Ricerca NON riesce a localizzare il file VBE7.ddl 
 
mentre con il comando DOS 
DIR C:\VBE*.DLL /S
 
ottengo le localizzazioni del file txt
 
----------
questi gli estratti dal 3D:
 
If you can't find VBE7.DLL, you could simply search for it - go to a CMD window and enter DIR C:\VBE*.DLL /S 
hopefully it should list the file you are looking for. 
(I found it in C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\VBA\VBA7.1) – YowE3K Aug 5 '17 at 10:25  
 
 
 
I found the file here: C:\Program Files (x86)\Common Files\microsoft shared\VBA\VBA7.1\ – ChrisB