Prime esperienze (negative) con Access 2021

di il
25 risposte

25 Risposte - Pagina 2

  • Re: Prime esperienze (negative) con Access 2021

    Con questa funzione :
    
    Public Function ADOLinkedTable_ConnectionString() As Boolean
    ' Serve riferimento a ADOX 2.8
    Dim adoCat  As New ADOX.Catalog
    Dim adoTbl  As New ADOX.Table
    
        On Error GoTo LblErr
    
        Set adoCat = New ADOX.Catalog
        Set adoCat.ActiveConnection = CurrentProject.Connection
        Set adoTbl.ParentCatalog = adoCat
        
        For Each adoTbl In adoCat.Tables
            If adoTbl.Type = "PASS-THROUGH" Then
                Debug.Print adoTbl.Properties("Jet OLEDB:Link Provider String")
            End If
        Next
    
        Set adoTbl = Nothing
        Set adoCat = Nothing
        
        Exit Function
    
    LblErr:
      ' Errore
    End Function
    
    
    ottiene la connection string per le tabelle linkate (ODBC).
    Se scrivi la proprietà puoi fare il refresh.

    Attenzione che nelle tabelle linkate (ODBC) la connection string NON contiene USER e PASSWORD ...
  • Re: Prime esperienze (negative) con Access 2021

    paoloholzl ha scritto:


    Non ne sono ancora uscito, mancando (o non avendo trovato) il componente DAO nell'ultimo Access...
    Per la parte ODBC e LinkedTables ti lascio nelle mani di MaxRiservo e @Alex.
    Per quanto riguarda DAO non è possibile che non ci sia, c'è qualche problema che ci sfugge.
    DAO ed Access vanno a braccetto, se hai Access non puoi non avere anche la libreria per DAO (anche se negli anni ha cambiato nome), a meno che l'installazione non sia danneggiata.
    In un file nuovo di Access i riferimenti alle librerie sono sicuramente 3, intoccabili
    [B]- Visual Basic For Application
    - Microsoft Access xx.x Object Library
    - OLE Automation

    e con un buon 99,95% di probabilità
    [B]- Microsoft Office xx.x Access database engine Object

    E' quest'ultima libreria che ti permette di usare DAO. Deve esserci e deve essere presente nei riferimenti disponibili, se non la trovi ti conviene fare una riparazione dell'installazione o rimuovere tutto e reinstallare. Non affidarti a trucchetti di registrazione manuale o simili.
    Fai attenzione a non confonderla con Microsoft Office xx.x Object Library che serve a tutt'altro.
    Attento poi a mettere i riferimenti nel giusto ordine, meglio ancora a non dover confidare sull'ordine dei rifermenti e questo si ottiene con la disambiguazione ([I]ndPhil: esiste, verificato sul dizionario on line) delle dichiarazioni delle variabili:
    Dim rs1 As DAO.Recordset
    Dim rs2 As ADODB.Recordset
    Lo so che l'hai già scritto nel primo post che avevi le due librerie, Access 16.0 e Microsoft Office 16.0 Database Engine Object ma... io vedo in tutto questo un problema di installazione.
    Eventualmente togli la spunta da Microsoft Office 16.0 Database Engine Object, premi OK, salva e chiudi il file. Ovviamente non compila, quindi non provare a fare debug o altro. Riapri il file e riseleziona il riferimento con spunta ed OK.
    Installi gli aggiornamenti di Office? e del sistema operativo? (anche se a volte risolvono una cosa e ne mettono ko un'altra)
  • Re: Prime esperienze (negative) con Access 2021

    [/code]
    ottiene la connection string per le tabelle linkate (ODBC).
    Se scrivi la proprietà puoi fare il refresh.
    Attenzione che nelle tabelle linkate (ODBC) la connection string NON contiene USER e PASSWORD ...
    [/quote]
    Ovviamente ...
    Funziona perfettamente ed è molto veloce grazie.

    Penso proverò il porting ad ADO del primo applicativo per vedere prestazioni e affidabilità rapportate a ODBC/DAO.
    In ogni caso lo schema che dice che per usare ODBC occorre DAO è una cazzata.
  • Re: Prime esperienze (negative) con Access 2021

    Philcattivocarattere ha scritto:


    E' quest'ultima libreria che ti permette di usare DAO. Deve esserci e deve essere presente nei riferimenti disponibili, se non la trovi ti conviene fare una riparazione dell'installazione o rimuovere tutto e reinstallare. Non affidarti a trucchetti di registrazione manuale o simili....
    Forse il DAO sono riuscito a trovarlo ma la situazione è questa.
    Molti applicativi preesistenti li ho spostati tranquillamente a 64 bit in Access2019, convertendo solo alcune chiamate ad AIP esterne.
    Mi aspettavo qualcosa di simile anche con Access2021.
    Il componente DAO che dici probabilmente è Microsoft Office 16 Access Database Engine Object, se lo metto nei reference le istruzioni le compila regolarmente.

    Ma qualsiasi form io vada ad aprire ottengo errori del tipo Errore riservato -2037.
    Errore di comunicazione con il server OLE o del controllo Activex.

    Per risolverlo devo rigenerare i form e spostare i singoli oggetti (impensabile).
    Bisogna capire a che ActiveX si riferisce visto che i reference sono sempre quelli.
    Ovviamente i problemi li dà con codici diversi e form diversi.
  • Re: Prime esperienze (negative) con Access 2021

    paoloholzl ha scritto:


    Il componente DAO che dici probabilmente è Microsoft Office 16 Access Database Engine Object, se lo metto nei reference le istruzioni le compila regolarmente.
    E' quello, senza il minimo dubbio.

    Il problema API si verifica quando si passa da 32 bit a 64 bit ma tenderei ad escludere che il cambiamento da 2019 a 2021 della versione di Access, già però pronta per funzionare sui 64 bit, dia problemi. Ripeto: tenderei, però chissà, che non ci sia proprio quell'API particolare che... però cavoli che si risolva con quanto hai precisato sotto... mah.

    paoloholzl ha scritto:


    Ma qualsiasi form io vada ad aprire ottengo errori del tipo Errore riservato -2037.
    Errore di comunicazione con il server OLE o del controllo Activex.
    ...
    Questo è stranissimo. Che Microsoft non sia nuova ad errori che ci sono, poi spariscono, poi li corregge e ne crea altri è cosa risaputa. O rientri in una di queste casistiche o... però si risolve rifacendo il tutto.

    Suggerirei due tentativi, se già non provati.
    1) Decompilare il file. Guarda qui http://www.fmsinc.com/microsoftaccess/performance/decompile.asp#DecompileID
    Fai attenzione al fatto che avendo la versione a 64 bit forse è C:\Program Files\Microsoft Office... e non C:\Program Files (x86)\Microsoft Office...
    Segui ovviamente tutta la procedura, non solo l'operazione di decompile pura e semplice

    2) Importare tutto su un database pulito. Ne avevi parlato nel post di apertura ma ti sei poi "infognato" con DAO. Ora che forse hai le idee più chiare questa strada è percorribile?

    Evevo detto 2 strade, vero? Questa è una capezzagna, allora:

    3) Se @Alex ha ancora accessibile / distribuibile uno dei suoi lavori potresti provare a dargli in pasto il tuo file problematico.
    Nel senso che a suo tempo era un tool gratuito creato con Access, tentar non nuoce (con molti backup s'intende). Era quello che per i complimenti rivolgersi a lui, per le grane parlare con me? mah!

    Perché dici

    paoloholzl ha scritto:


    ... spostare i singoli oggetti (impensabile).
    Cosa intendi per spostare gli oggetti?
  • Re: Prime esperienze (negative) con Access 2021

    Ho estratto una banale demo. La potete scaricare da https://www.holzl.it/ErrAcc202

    In pratica si tratta di tre semplici Forms con due tabelle interne.
    Aperto il DB la tendina fa scattare una ricerca il tasto Ok dovrebbe chiudere.
    Il tasto Reference fa scattare il controllo dei reference delle librerie usate.
    Il tasto annate apre un altro form.

    Funziona perfettamente con Access 2010 e i vari runtime 365 o Access 2010 a 32 bit.
    Funziona perfettamente su Access 2019 a 64 bit e runtime 365 a 64 bit.

    Con Access 2021 invece fa uscire errori premendo un qualsiasi tasto o combo ... errore di comunicazione con il server OLE o con il controllo ActiveX...

    Le librerie nei reference sono per tutti:

    Visual Basic For Applications
    Microsoft Access 16.0 Object Library
    OLE Automation
    Microsoft Office 16.0 Access database engine Object Library

    Chiamato l'assistenza chet Microsoft, mi rigirano alla Comunity ... dove nessuno risponde.
  • Re: Prime esperienze (negative) con Access 2021

    paoloholzl ha scritto:


    Ho estratto una banale demo....
    Provato su una macchina virtuale con Windows10, installato Office ProPlus2021 (trial, ovviamente) e non ho avuto il minimo problema.
    A mio avviso il problema è sulla tua macchina non so se a livello di Office o altro.
  • Re: Prime esperienze (negative) con Access 2021

    Ti ringrazio tantissimo.
    Sto provando un recovery.
    Nel caso hai il link dove scaricare la versione Trial che provo pure io su una macchina virtuale?
  • Re: Prime esperienze (negative) con Access 2021

    paoloholzl ha scritto:


    Nel caso hai il link dove scaricare la versione Trial che provo pure io su una macchina virtuale?
    Visto che hai A2021, a solo fine di test, puoi installarlo sulla VM. Funzionerà per pochissimi giorni ma tanto serve solo per vedere se in un ambiente pulito c'è il problema.
    In ogni caso: https://officecdn.microsoft.com/db/492350F6-3A01-4F97-B9C0-C7C6DDF67D60/media/it-IT/ProPlus2021Retail.img
    Trial nel senso che non ho il codice di attivazione o registrazione, l'ho installata solo per provare, poi cancello tutto, evviva le macchine virtuali!!!!
  • Re: Prime esperienze (negative) con Access 2021

    Ho provato su una macchina che uso per fare le prove del (pietoso) Windows 11, e va perfettamente.

    Peccato che la macchina che uso per lo sviluppo è l'altra dove l'Office l'ho acquistato. Maledizione!
    Ho provato anche a fare il ripristino di Office quello 'on line', cambiato niente.
    Provato lanciando Access come amministratore, cambiato nulla.
    Provato a lanciare sfc /scannow cambiato nulla.
    Non posso certamente riformattare una macchina con licenze e tutto il resto per una cosa del genere!
    Per carità potrei rifare l'installazione di Windows salvando gli applicativi, ma mi sembra davvero eccessivo, e ho anche dentro cose delicate

    Comunque ho scoperto di essere in buona compagnia (altre 20 persone).
    https://answers.microsoft.com/it-it/msoffice/forum/all/errore-di-comunicazione-con-il-server-ole-o-con-il/325f1030-f1b8-4247-9563-2e744b47147f
    Non so che cavolo provare.
  • Re: Prime esperienze (negative) con Access 2021

    RISOLTO!!!!
    Googlando ho scoperto un paio di Thread che mi hanno messo la mosca al naso.
    Questa macchina comprata usata aveva il sistema operativo in tedesco che poi ho italianizzato.
    Quando Win10 cambia lingua non tutto va apposto, ad esempio i messaggi di aggiornamento magari per un po sono ancora nella lingua originaria.

    Ma probabilmente altro non è ancora perfetto.
    Ho letto del problema in tanti programmi, non solo Office, sotto Thread del tipo 'problem Ole server or ActiveX'.
    Poi ho letto di uno che si era trovato casini con forms con accenti ecc. a cui uno ha risposto scoprendo l'inghippo.
    E infatti ha funzionato anche per me.

    si esegue
    Win-R
    intl.cpl
    Opzioni di Amministrazione
    Cambia impostazioni locali del sistema.
    Beta: utilizzare Unicode UTF-8 per il supporto della lingua a livallo mondiale. VA DISATTIVATO!

    Resta poi da capire come una funzione beta da me fosse attivata su una macchina di produzione.
    Grazie a tutti per l'aiuto.
Devi accedere o registrarti per scrivere nel forum
25 risposte