Bonjour à tous,

Je bloque depuis quelques temps sur un petit problème que je pense tout bête mais que je n'arrive pas à résoudre

Afin que deux utilisateurs ne puissent accéder au même enregistrement dans un formulaire, j'ai crée une petite fonction me permettant de vérifier si cet enregistrement était occupé. (je vous passe les détails puisqu'il m'a fallut insérer, supprimer et manipuler toute les fois où un utilisateur accède à l'enregistrement). Bref tout fonctionne .... à part une toute petite condition de rien du tout

Je vous explique donc un peu mon code:
à chaque champ je vérifie si le numéro de l'enregistrement correspond à celui que je cherche. Le problème est que j'aimerai aussi tester si la date de mon champ correspond à ma variable (qui est déclaré dans un module à part) et là pas moyen de rentrer dans la condition.
Je vous met mon code pour vous montrer où j'en suis:

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
Function recherche(num)
Dim db As DAO.Database
Dim occupe As DAO.RecordSet
Dim libre As Boolean
 
Set db = CurrentDb
Set occupe = db.OpenRecordset("test_occupe", dbOpenDynaset)
libre = True
With occupe
    If Not .EOF Then
        occupe.MoveFirst
    End If
    While (Not .EOF) And libre = True
        If .Fields("enregistrement") = num Then
            If .Fields("date_chp") = date_d Then
                libre = False
            End If
        Else
            .MoveNext
        End If
     Wend
End With
 
recherche = libre
End Function
J'ai testé en mettant une date en dur et ça fonctionne je suppose donc que ma syntaxe n'est pas correcte mais je n'ai pas trouvé de solution pour le moment.

Quelqu'un aurait une idée ?

Merci ^^