Newsgroup: it.comp.appl.access
Titolo: Errore caricamento DLL Access 2007

Ho postato precedentemente con altro oggetto e qualcuno ha provato ad
aiutarmi, ma ancora non ne sono venuto fuori. Il post era il seguente:
 
 
Anni fa ho preparato un database con Access 2007 per catalogare le mie
piante. Ho da poco cambiato pc ed invece di XP utilizzo WIndows 8. 
Lanciando il programma funziona tutto, tranne la routine predisposta
per salvare i nuovi dati. Infatti, appena "clicco" sul pulsante
"Salva", vien fuori il msg di errore riportato nel file allegato.
Aggiungo qui sotto l'intera routine in cui si blocca la procedura;
l'errore viene segnalato sulla 4^  riga sull'istruzione
 
"Set dbs_Piante = CurrentDb"
 
Ecco la routine:
 
    On Error GoTo Err_cmd_Salva_Click
    Dim dbs_Piante As DAO.Database
    Dim rst_Piante As DAO.Recordset
    Set dbs_Piante = CurrentDb
    Set rst_Piante = dbs_Piante.OpenRecordset("tbl_Piante")
 
    'Apre la tabella "tbl_Piante" per aggiornarla
    rst_Piante.AddNew
 
    'Immette nei campi di "tbl_Piante" i valori presi dalle variabili
della maschera "frm_Inserimento_Dati"
    rst_Piante!Nome_volgare = txt_Nome_Volgare.Value
    rst_Piante!Descrizione = txt_Descrizione.Value
    rst_Piante!Nome_altro = txt_Altro_Nome.Value
    Percorso = ""
 
    rst_Piante!Avversità = txt_Avversità.Value
    rst_Piante!Consiglio = txt_Consiglio.Value
 
    If Cornice10.Value = 1 Then
        rst_Piante!Interno = "S"
        rst_Piante!Esterno = "N"
        rst_Piante!Grassa = "N"
        Percorso = "\Interno\"
    End If
    If Cornice10.Value = 2 Then
        rst_Piante!Esterno = "S"
        rst_Piante!Interno = "N"
        rst_Piante!Grassa = "N"
        Percorso = "\Esterno\"
    End If
    If Cornice10.Value = 3 Then
        rst_Piante!Grassa = "S"
        rst_Piante!Interno = "N"
        rst_Piante!Esterno = "N"
        Percorso = "\Grasse\"
    End If
 
    rst_Piante!Immagine = Percorso & txt_Immagine.Value & ".jpg"
 
    If Casella_Nostra.Value = -1 Then
        rst_Piante!Nostra = "S"
    Else
        rst_Piante!Nostra = "N"
    End If
 
    rst_Piante!Famiglia = txt_Famiglia.Value
    rst_Piante!Genere = txt_Genere.Value
    rst_Piante!Nome_Botanico = txt_Nome_Botanico.Value
    rst_Piante!Provenienza = txt_Provenienza.Value
    rst_Piante!Durata = txt_Durata.Value
    rst_Piante!Altezza = txt_Altezza.Value
    rst_Piante!Periodo_Fioritura = txt_Periodo_Fioritura.Value
    rst_Piante!Esposizione = txt_Esposizione.Value
    rst_Piante!Temperatura = txt_Temperatura.Value
    rst_Piante!Clima = txt_Clima.Value
    rst_Piante!Substrato = txt_Substrato.Value
    rst_Piante!Irrigazione = txt_Irrigazione.Value
    rst_Piante!Concimazione = txt_Concimazione.Value
    rst_Piante!Propagazione = txt_Propagazione.Value
    rst_Piante!Rinvaso = txt_Rinvaso.Value
    rst_Piante!Potatura = txt_Potatura.Value
 
    'Aggiorna la tabella
    rst_Piante.Update
 
    'Chiude la tabella
    rst_Piante.Close
 
   'Ripulisce tutti i campi della maschera
    txt_Nome_Volgare = "": txt_Descrizione = "": txt_Altro_Nome = ""
    txt_Avversità = "": txt_Consiglio = ""
    Cornice10.Value = 1: Casella_Nostra.Value = "":
    txt_Famiglia = "": txt_Genere = "": txt_Nome_Botanico = "":
txt_Provenienza = ""
    txt_Durata = "": txt_Altezza = "": txt_Periodo_Fioritura = "":
txt_Esposizione = ""
    txt_Temperatura = "": txt_Clima = "": txt_Substrato = "":
txt_Irrigazione = ""
    txt_Concimazione = "": txt_Propagazione = "": txt_Rinvaso = "":
txt_Potatura = ""
 
 
Exit_cmd_Salva_Click:
    Exit Sub
Err_cmd_Salva_Click:
    MsgBox Err.Description
    Resume Exit_cmd_Salva_Click
End Sub
 
Preciso che con le versioni precedenti di Windows tutto funzionava al
meglio. Ritengo possa essere un problema di DLL ma non riesco a
venirne a capo.
 
Qualcuno più esperto mi può dare una mano? Grazie
Gianni
 
 

Verifica che i RIFERIMENTI DAO siano impostati e che, nel caso tu abbia anche ADO, DAO sia prioritario come ordinale.
 
Eventualmente prova a sostituire CurrentDB con DbEngine(0)(0)
 
@Alex 

@Alex 
Intanto grazie per la risposta. Ti dico subito che la sostituzione
delle istruzioni con la nuova da te proposta per me é troppo
complicata non conoscendone l'utilizzo.
I riferimenti DAO sono gli stessi che usavo prima di passare a Windows
8; quando lancio la routine, questa si blocca sulla prima riga dandomi
l'errore "Errore caricamento DLL". Credo che potrebbe essere
l'utilizzo di DLL non appropriate a lavorare a 64bit. Cosa ne pensi?
Se così fosse, potrei cercare le DLL corrette e sostituirle nei
riferimenti, ma c'é un problema BANALISSIMO che non riesco a superare:
come faccio a inserire le eventuali nuove DLL nel path giusto? Anche
cliccando sul vecchio riferimento, il percorso non compare per intero
e non so, perciò, quale sia il file incriminato...
Potresti darmi una mano su questo?