Bonjour,
J'ai fait un programme Excel avec une macro pour envoyer des informations dans une table ACCES.
Dans cette macro, je vérifie avant d'écrire, si l'enregistrement n'existe pas avec un .filter. Mon problème, c'est que pour un enregistrement sur un champ texte, il n'y a pas de problème. Par contre pour un champ numérique (entier long), je n'y arrive pas !
Voilà un extrait de mon code, là où il ne fonctionne pas :
Lorsque j'isole les 3 LIKE et que je fais un arrêt sur le Do While, je m'aperçois que le résultat un VRAI sur OPC qui est une valeur numérique et ne rentre pas dans la boucle, alors que pour les deux autres la valeur est FAUX.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 rec.Open "SELECT * FROM [Tbl_pr]", cnx, adOpenKeyset, adLockOptimistic rec.Filter = "Atp LIKE '*" & at & "*' And Reg LIKE '*" & compa & "*' And OPC LIKE '*" & op & "*'" ' rec.Find "[Date]=" & comp, , adSearchForward, 1 Do While Not rec.EOF
J'ai essayer de déclarer la variable op de différentes manières, mais rien.
J'espère avoir été assez clair dans mes explications.
Merci d'avance pour vos réponses.
@+++
Partager