Erreur 80004005 après migration de la base de données

Utilisateur anonyme -  
 Utilisateur anonyme -
Mesdames, Messieurs,

je ne connais pas du tout Access, j'ai découvert hier pour la première fois. Je connais le langage SQL si cela peut être utile pour la suite de mon problème.

Une nouvelle collaboratrice qui travaillait avant dans une autre entreprise utilisait Access et son fichier accdb se trouvait sur un serveur. Je suis en charge d'installer son nouvel ordinateur et je rencontre un problème. Le chemin d'accès à son fichier accdb semblait être de ce style (lecteur T)

T:\Chemin\Du\Fichier.accdb.

Maintenant le fichier se trouve sur l'ordinateur même sur le lecteur C et chaque fois que je tente d'ouvrir ce fichier j'ai une erreur de ce style:


Erreur d'exécution '-2147467259 (80004005)'

<< T:\Chemin\Du\Fichier.accdb >> n'est pas un chemin d'accès valide. Assurez-vous que le nom du chemin d'accès est correct et qu'une connexion est établie avec le serveur sur lequel réside le fichier.


J'ai cliqué sur débogage et cherché une chaine de caractère qui serait la même que T:\Chemin\Du\Fichier.accd mais je n'ai rien trouvé.

Pourriez-vous m'aider SVP ?

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, si tu es en débogage, partage plutôt le code, en précisant sur quelle ligne l'erreur se produit.
    n'oublie pas d'utiliser la coloration syntaxique.
    0
  2. Utilisateur anonyme
     
    Bonjour et merci de votre réponse.

    Voici le code:

    Option Compare Database
    Function GetDataVersion() As Integer
    Dim rst As ADODB.Recordset
    Set rst = New ADODB.Recordset
    rst.Open "SELECT MAX (Release) as nb FROM TblVersionDonnees", CurrentProject.Connection
    GetDataVersion = rst("nb")End FunctionFunction AutomaticDataUpdate(FullDataNameFile As String) As Integer
    '@@@ Crée et exécute dynamiquement des requêtes dans une autre base de données
    '@@@ Si OK renvoi true
    '@@@ si KO renvoi false
    On Error Resume NextDim DataDb            As Database
    Dim ProgDb            As Database
    Dim QueryCollection   As QueryDefs
    Dim QueryTMP          As QueryDef
    Dim ErrorSpy          As Boolean
    Dim Resultat          As String
    Dim wrkAdmin          As Workspace
    Dim strSaveFile       As String
    Dim rst               As ADODB.Recordset
    Dim rst2              As ADODB.Recordset
    Dim de                As Integer
    Dim jusque            As IntegerSet rst = New ADODB.Recordset
    Set rst2 = New ADODB.Recordset'@@@ Ouverture des bases de données Programme et Données dans un workspace Admin - password vide - Microsoft
    Set wrkAdmin = CreateWorkspace("WrkAdmin", "admin", "", dbUseJet)
    Workspaces.Append wrkAdmin
    Set ProgDb = DBEngine.Workspaces(0).Databases(0)
    Set DataDb = DBEngine.Workspaces("WrkAdmin").OpenDatabase(FullDataNameFile)'@@@ Vérification du nombre de mises à jour
    rst.Open "SELECT count (*) as nb FROM TblSQL WHERE NumRelease > " & GetDataVersion(), CurrentProject.ConnectionIf rst("nb") = 0 Then    AutomaticDataUpdate = 0   '@@@ Pas de mises à jourElse    de = GetDataVersion() + 1
       jusque = de + rst("nb") - 1
       '@@@ Sauvegarde de la base de données avant la migration
       strSaveFile = Mid(FullDataNameFile, 1, Len(FullDataNameFile) - 4) & "_" & day(Date) & "_" & Month(Date) & "_" & Year(Date) & "_" & Hour(Time()) & "_" & Minute(Time()) & ".sav"
       rep = CopyFile(FullDataNameFile, strSaveFile, 0)    For i = de To jusque        '@@@ Ouverture des ordres SQL à exécuter
           rst2.Open "SELECT * FROM TblSQL WHERE NumRelease = " & i, CurrentProject.Connection
           Debug.Print ("SELECT * FROM TblSQL WHERE NumRelease = " & i)
           Debug.Print (rst2("TypeRelease"))
           'Définition du type de mise à jour
           If rst2("TypeRelease") = 1 Then            Set QueryCollection = DataDb.QueryDefs
               On Error Resume Next
               QueryCollection.Delete "DataUpdate"
               On Error Resume Next
               Set QueryTMP = DataDb.CreateQueryDef("DataUpdate")
               QueryTMP.sql = rst2("CodeSQL")
               On Error Resume Next
               DataDb.Execute "DataUpdate"        Else            DoCmd.SetWarnings False
               DoCmd.RunSQL rst2("CodeSQL")
               DoCmd.SetWarnings True        End If        DoCmd.SetWarnings False
           DoCmd.RunSQL "INSERT INTO TblVersionDonnees (Release) VALUES  (" & i & ")"
           DoCmd.SetWarnings True
    rst2.Close
       Next iAutomaticDataUpdate = 1
    End IfEnd FunctionFunction DataUpdate() As StringDim rst As ADODB.RecordsetSet rst = New ADODB.Recordsetrst.Open "SELECT * FROM TblSQL WHERE NumRelease > " & GetDataVersion(), CurrentProject.Connection
    While Not rst.EOF
       DoCmd.SetWarnings False
       DoCmd.RunSQL rst("CodeSQL")
       DoCmd.RunSQL "UPDATE TblVersionDonnees SET Release = " & rst("NumRelease") & " WHERE NumVersion = " & GetDataVersion()
       DoCmd.SetWarnings Falserst.MoveNext
    Wend
    End Function
    


    Voici la ligne surlignée:

    rst.Open "SELECT MAX (Release) as nb FROM TblVersionDonnees", CurrentProject.Connection
    


    Merci beaucoup et bonne journée
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      vraiment à tout hasard: as-tu compacté/réparé la base Access?
      0
    2. Utilisateur anonyme
       
      Salut, oui j'ai testé tous les menus dont celui-ci. Je ne me souviens plus j'ai eu la même erreur ou si j'ai renoncé car je ne comprenais rien à ce que je faisais. Je ne pourrai pas tester à nouveau avant lundi, une fois que j'aurai testé, je te ferai un retour.

      Merci pour tout
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Utilisateur anonyme
         
        sinon, peux-tu partager la base?
        0
    3. Utilisateur anonyme
       
      Salut, je viens de demander et elle n'est pas trop chaude à partager la base !!! Elle va demander à son ancien informaticien, je reviendrai ici si besoin. En tous cas merci pour tout !a+
      0