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

Fermé
Utilisateur anonyme - 9 janv. 2019 à 09:02
 Utilisateur anonyme - 14 janv. 2019 à 08:46
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

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
9 janv. 2019 à 19:12
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
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
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
10 janv. 2019 à 22:32
vraiment à tout hasard: as-tu compacté/réparé la base Access?
0
Utilisateur anonyme
11 janv. 2019 à 11:32
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
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > Utilisateur anonyme
11 janv. 2019 à 19:01
sinon, peux-tu partager la base?
0
Utilisateur anonyme
14 janv. 2019 à 08:46
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