bonjour a tous,
je travaille sur une base de donnée afin de déterminer la période de fonctionnement d'un appareil (i.e. le temps entre 2 interventions avec défaut constaté sur l'appareil)
je crée une table avec comme champ le n° d'appareil, la date d'intervention (il n'y a pas forcément un défaut à chauqe date : certaine sont juste des vérif' de fonctionnement), le champ défaut et un champ période vide que je veux remplir avec un module.dans ce champ période, je fais une somme cumulée depuis le dernier défaut. j'ai écrit ce code :
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
 Sub periodesappareils()
    Dim db As Database
    Dim enrg1 As Recordset
    Dim enrg2 As Recordset
    Set db = CurrentDb
    Set enrg1 = db.OpenRecordset("oscillos_TablePériodes")
    Set enrg2 = db.OpenRecordset("oscillos_TablePériodes")
    enrg1.MoveFirst
    enrg1!période = 0
    enrg2.Move (2)
    Do Until enrg2.EOF
        If enrg1!Marquage = enrg2!Marquage And Not (enrg2!défaut) Then
            enrg2!périodecumulée = CLng(enrg2!dateintervention - enrg1!dateintervention) + enrg1!périodecumulée
        End If
    enrg1.MoveNext
    enrg2.MoveNext
    Loop
End Sub
je me doute que c'est loin d'être parfait, mais lors de l'execution, VBA s'arrête à cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
   Set enrg1 = CurrentDb.OpenRecordset("oscillo_TablePériodes")
et il m'affiche un message d'erreur de compatibilité de type.(erreur d'exécution '13') j'ai tout vérifié : ma table porte bien ce nom, les références sont à jour, tous les autres variables du openrecordset sont facultatives, bref tout semble devoir faire que ca fonctionne ! et pourtant.....

comble du désepoir, j'envoie une copie à un collègue qui lance le début du module (juste le openrecordset) et pour lui ca marche. il travaille avec access2002 et moi access2000.

Quelqu'un a-t-il déjà rencontré ce problème ou remarqué quelque chose qui ne va pas dans mon code?

merci d'avance pour toutes vos réponse.
4rn0_o