Bonjour,
J’ai un gros problème avec mes références bibliothèques.
Ma bd a été créée sur mon ancien PC (access 2000 je crois) et marchait très bien, je travaille aujourd’hui entre 2 nouveaux PC via une clé USB. J’ai un message d’erreur de bibliothèque non inscrite que je n’arrive pas à expliquer (surtout que je ne suis pas bien doué).
Malheureusement j’ai bidouillé les références en cochant – décochant les cases et je ne sais plus trop où j’en suis !!!! (je sais, ce n’est pas bien fin de ma part !).
Le message d’erreur intervient sur un code qui se situe dans une feuille excel intégrée dans un objet independant OLE Microsoft Excel 2000.
La feuille représente un plan de cave. Ce code me permet de supprimer des données situées dans une table (tbl_emplacement) si elles sont présentes et repérées par le n° de colonne te n°de ligne.
Voici le message d’erreur :
Erreur d’exécution ‘-2147319779 (8002801d)’ :
Erreur Automation
Bibliothèque non inscrite
L’erreur s’arrête sur la ligne = « Set db = CurrentDb » du code :
Les bibliothèques suivantes sont cochées dans l’ordre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Private Sub Supprimer_Click() Dim MonCritère As String Dim MonCritère1 As String MonCritère = "C" & ActiveCell.Column & ".L" & ActiveCell.Row MonCritère1 = "Blc" If ActiveCell = "" Then MsgBox ("Il n'y a pas de bouteille à cet emplacement!") Else Dim MonSql As String Dim db As DAO.Database Dim tbl_Emplacement As DAO.Recordset Set db = CurrentDb 'Création d'une requête selection MonSql = "SELECT Count(tbl_Emplacement.NumCave) AS CompteDeNumCave FROM tbl_Emplacement WHERE ((([tbl_Emplacement].[Emplacement])=" & Chr(34) & MonCritère & Chr(34) & ") AND (([tbl_Emplacement].[Cave])=" & Chr(34) & MonCritère1 & Chr(34) & "))" 'Ouverture du Recordset Set tbl_Emplacement = db.OpenRecordset(MonSql) If DCount("NumCave", "tbl_Emplacement", "[tbl_Emplacement].[Emplacement]=" & Chr(34) & MonCritère & Chr(34) & " AND (([tbl_Emplacement].[Cave])=" & Chr(34) & MonCritère1 & Chr(34) & ")") > 0 Then If MsgBox("Êtes-vous sûr de vouloir supprimer la bouteille de " & ActiveCell.Value & " ?", vbQuestion + vbYesNo, "") = vbYes Then Set db = CurrentDb db.Execute "DELETE [tbl_Emplacement].[NumCave], [tbl_Emplacement].[Emplacement], [tbl_Emplacement].[Cave] FROM [tbl_Emplacement] WHERE ((([tbl_Emplacement].[Emplacement])=" & Chr(34) & MonCritère & Chr(34) & ") AND (([tbl_Emplacement].[Cave])=" & Chr(34) & MonCritère1 & Chr(34) & "))" Debug.Print "Records Affected = " & db.RecordsAffected db.Close Selection.ClearContents Else Exit Sub End If Else If MsgBox("Aucune bouteille n'est enregistrée à l'emplacement " & MonCritère & " du Livre de cave! Voulez-vous l'effacer du plan de cave?", vbQuestion + vbYesNo, "") = vbYes Then Selection.ClearContents Else Exit Sub End If End If End If End Sub
Visual Basic For Applications
Microsoft Excel 11.0 Object Library
Microsoft Office 11.0 Object Library
Microsoft Forms 2.0 Object Library
Microsoft DAO 3.6 Object Library
OLE Automation
Microsoft Access 11.0 Object Library
Microsoft Data Access Components Installed version
Microsoft ActiveX Data Objects 2.8 Library
Remarques peut-être importantes : l’un des PC possède le pack office 2003 et l’autre Pack office 2002.
Lorsque je suis passé d’access 2003 à celui 2002 une seule référence était manquante « Microsoft Excel 11.0 Object Library » que j’ai remplacé par « Microsoft Excel 10.0 Object Library »
Ma première question : comment stopper l’erreur ?
Seconde question : quelles sont les étapes que je dois faire pour travailler sur les 2 versions pack office 2002 à 2003 ou 2003 à 2002 sans que cela bugs ? Y a-t-il des mises à jours de bibliothèque à faire, si oui lesquelles et où les télécharger ?
Je vous serai reconnaissant de m’aider car je bloque depuis pas mal de temps et ma base de donnée est construite sur cette feuille excel.
Merci
Partager