Errori programma utilizzando Access Runtime 2007

Anonimo
2010-08-09T07:38:45+00:00

Salve a tutti,

sto testando il mio progetto su un pc windows Xp professional con Access Runtime 2007 per valutare errori (...che ci sono) con la versione Runtime. Vado ad esporli:

  • su una txtbox non associata (che ha come origine controllo = Date() ) - si trova in una form non associata che uso come pannello comandi (su Runtime tale textbox visualizza**#nome?** e non la data attuale come nella versione con access 2007)
  • quando dal pannello comandi tramite un pulsante provo ad aprire una form che uso come protocollo interno, non apre la form e mi restituisce questo messaggio:Funzione non disponibile nelle espressioni. nell'espressione (((year([data_prot])) = year (date())) -il problema non si manifesta sul pc con access 2007
  • Nella Versione Runtime, inoltre, noto che il comando accmdzoombox non funziona, su altri forum ho letto che devo predisporre da me le form (è vera questa cosa?)
  • Inoltre aprendo la sezione Strumenti-Riferimenti nel progetto originale .accdb noto che non è presente la libreria Microsoft DAO 3.6 e quando provo a selezionarla e premere Ok mi dice:nome già utilizzato per modulo progetto o libreria degli oggetti esistente... e non l'aggiunge alla lista dei riferimenti. (Come mai???)

Vi sarei molto grato se riusciste ad aiutarmi, non riesco a venirni a capo.

Vi ringrazio e vi saluto

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2011-11-03T09:40:03+00:00

Ciao Franco,

le costanti di Word sono contenute nella libreria di Word, quindi se abbiamo tolto la libreria  per le ragioni già discusse, le cosanti non esistono più.

Al posto di modificare le costanti direttamente con i valori numerici, potresti creare un modulo Bas in cui inserire le tue costanti.

es..


Public Const My_wdReplaceAll = 2


poi vai a sostituire wdReplaceAll con My_wdReplaceAll nel tuo codice.

In questo modo il nome della costante ti ricorda il suo significato, cosa difficile da capire se usi solo i valori numerici.

ps. non so se c'è altro che devi modificare, solo il compilatore può dirlo :-)

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2010-08-16T19:00:13+00:00

Ciao Avatar77,

il problema che riscontri è riconducibile al riferimento di una o più librerie che non esistono nella macchina con Windows Xp.

Puoi elencare le librerie presenti nei riferimenti e di esse quelle di cui hai effettivamente bisogno ?

Per vedere i riferimenti premi ALT+F11 per paprire l'editoe VBA , poi premi Strumenti-->Riferimenti.

Per quanto riguarda la libreria DAO 3.6 non puoi aggiungerla perchè Access2007 aggiunge di default la nuova libreria "Microsoft Office 12.0 Access Database Engine Object Library", quindi rifiuta DAO 3.6 perchè sarebbe un doppione.

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

15 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-10-04T10:04:21+00:00

    Ciao francosk,

    il problema principale sono le due librerie


    Microsoft Activex Data Objects (Multi dimensional) 6.0 Library       ??? che differenza c'è con il successivo?

    Microsoft Activex Data Objects 6.0 Library


    che esistono solo nei sistemi operativi da Windows Vista in su, quindi su Windows Xp non esistono.

    Per risolvere (sempre ammesso che ti servano) usa le librerie


    Microsoft Activex Data Objects (Multi dimensional) 2.8 Library       ??? che differenza c'è con il successivo?

    Microsoft Activex Data Objects 2.8 Library


    che sono la stessa cosa ed esistono anche su Windows Xp.

    Qui la descrizione delle librerie ADO Microsoft ActiveX Data Objects (ADO) , visto che non conosci la differenza, dubito che ti servano.

    Un altro broblema potrebbe derivare dalle librerie


    Microsoft Outlook 12.0 Object Library

    Microsoft Word 12.0 Object Library


    che impongono l'esistenza di Outlook 2007 e Word 2007, se l'utente ha Outlook e Word di un'altra versione il tuo programma non funziona. Per risolvere questo aspetto usa il metodo Late Binding (associazione tardiva) per referenziare gli oggetti Outlook e Word. Vedi: Utilizzo di associazione anticipata e associazione tardiva in automazione

    Visto che hai inserito le librerie nei riferimenti ma non sai se ne hai bisogno, fai una backup del tup progetto, poi elimina dai riferimenti quelli eliminabili, assicurati che tutti i moduli Bas e i moduli di classe delle maschere e report inizino con l'istruzione OPTION EXPLICIT (cosa che dovresti fare di default), poi prova a compilare il progetto, se non ricevi messaggi di errore allora non ti serve nessuna libreria, in altro caso se l'errore non è scatenato da una variabile non dichiarata, vedrai la riga con l'istruzione che utilizza la libreria mancante.

    Aggiunta:

    Dimenticavo, il riferimento Microsoft Forms 2.0 Object Library toglilo, è improbabile (non impossibile) riuscire ad inserire una UserForm in un progetto di Access.

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-10-04T00:43:30+00:00

    Ciao, Giorgio.

    Sei un riferimento importantissimo per me; se fossi abbastanza ricco ti comprerei!!! Non offenderti, è un modo scherzoso per esprimerti la mia stima.

    Uso, oltre a

     Visual Basic for application

     Microsoft Access 12.0 Object Library

     Ole Automation

     Microsoft Office 12.0 Access database engine Object Library

    anche:

    Microsoft Forms 2.0 Object Library

    Microsoft Office 12.0 Object Library

    Microsoft Outlook 12.0 Object Library

    Microsoft Graph 12.0 Object Library

    Microsoft Office Outlook View Control

    Microsoft Activex Data Objects (Multi dimensional) 6.0 Library       ??? che differenza c'è con il successivo?

    Microsoft Activex Data Objects 6.0 Library

    Microsoft Word 12.0 Object Library

    Non sono sicuro che mi servano tutti; in realtà, la prima volta che ho avuto problemi ho selezionato tutte le voci che mi sembrava potessero essere utili subito o in futuro.

    D'altra parte, la maggior parte sono Office 2007

    Ci sono ripetizioni?

    Io ho problemi con Datediff; è come dire che non mi funziona la penna!!! Perchè non ho problemi con altre funzioni "di base"?

    Ciao

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-10-03T19:58:20+00:00

    Ciao francosk,

    La creazione del pacchetto di installazione non risolve il problema dei riferimenti mancanti, sei tu che devi sapere che riferimenti usi, perchè li usi e se potrebbero mancare in altri sistemi.

    Se usi i riferimenti standard di Access 2007


    Visual Basic for application

    Microsoft Access 12.0 Object Library

    Ole Automation

    Microsoft Office 12.0 Access database engine Object Library


    non puoi avere problemi se il computer in cui installerai l'applicazione ha Access 2007 full o runtime.

    Puoi mostrare l'elenco dei riferimenti che hai nel tuo progetto ?

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento