Spiegazione per problema all'uso di un database con sistema a 64 bit

Anonimo
2016-02-21T18:23:19+00:00

Salve, ho problemi a usare un database solo con sistemi a 64 bit, perchè con windows a 32 bit non ho problemi...in pratica l'errore che mi dà su windows a 64 bit lo si può vedere dalla figura che vi allego. Leggendo questo forum, ho capito che occorre popolare alcuni campi con le diciture (LongLong e PtrSafe), aggiungendo queste scritte, qualche piccolo progresso c'è ma poi mi compare una finestra dicendomi che c'è stato un errore di compilazione. Come posso fare per usare questo Database di Access su sistemi a 64 bit senza alcun problema e senza popolare ogni volta, ammesso che popolando ogni volta con apposite diciture; funzioni pure?

Grazie in anticipo

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

4 risposte

Ordina per: Più utili
  1. Anonimo
    2016-02-23T22:15:46+00:00

    Salve Sandro, in parole più semplici cosa devo fare...cioè voglio aprire il file access normalmente, proprio come faccio su windows a 32 bit...

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2016-02-24T07:54:06+00:00

    ciao Alfonso,

    devi utilizzare la compilazione condizionale in modo da individuare correttamente l'ambiente se a 32 o 64 bit.

    il link spiega come fare.

     in pratica vedo che utilizzi ad esempio l'API GETDC

    nel modulo dove avrai tutte le dichiarazioni Api avrai quindi :

    #if vba 7 then

    Private Declare PtrSafe Function GetDC Lib "USER32" (ByVal hWnd As LongPtr) As LongPtr

    #else

    Private Declare Function GetDC Lib "USER32" (ByVal hWnd As Long) As Long

    #end if

    nel momento in cui necessiti di farti restituire un valore dalla funzione suddetta lo stesso, perché l'handle è sempre LongPtr

    #If vba7 Then        

               Dim lngDC As LongPtr

    #Else

             Dim lngDCAs As Long

    #End IfmyHandle =GetDC(hwnd_desktop)    

    la dichiarazione generica ed in alcuni casi necessaria :

    #If VBA7 Then

        #If Win64 Then

           ......

         #End If

    #Else

        .....

    #End If

    E' un po' difficilotto....

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-02-21T18:53:31+00:00

    ciao Alfonso,

    non inserire una domanda su un 3d vecchio.

    ho splittato ed unito io quello vecchio a questo nuovo.

    con le Api e office a 64 è bene utilizzare la compilazione condizionale e accertarsi che il valore restituito sia corretto :

    http://www.jkp-ads.com/articles/apideclarations.asp

    L'utilizzo delle Api con office a 64 bit è uno degli aspetti più ostici.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni