Parcours dans une table en VBA: comparer un champ date avec une variable date
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 :oops:
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 :cry:
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:
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 ^^