Salut Yepazix,
Je ne connais pas Office 365, mais en SQL avec Delphi, voici comment je procèderais : il faut prévoir au moins 2 requêtes et organiser ta table :
-- pour la table : 2 champs : "CodeEAN" contenant ton code et "NbLecture" ou "Lu" contenant soit un entier long (initialisé à 0) soit un boolean (initialisé à False) pour savoir si ton code a déjà été lu (ou combien de fois il a été lu !)
-- puis un code pour connaître l'état déjà accédé / jamais accédé / non présent dans la base du genre :
SELECT NbLecture FROM T_CodesEAN WHERE CodeEAN = :CodeSaisi
reste à déduire (dans ton code delphi) du résultat obtenu les 3 possibilités pour l'affichage dans ta form (i.e. OK si NbLecture = 0 / False, IN si NbLecture > 0 / = True, NO si pas de réponse)
Peut-être que l'usage du coalesce proposé par SergioMaster peut simplifier le traitement du résultat par un
SELECT COALESCE(NbLecture, -1) FROM T_CodesEAN WHERE CodeEAN = :CodeSaisi
avec i.e. OK si NbLecture = 0 / False, IN si NbLecture > 0 / = True, NO si NbLecture = -1. Mais jamais essayé !
-- puis un code pour enregistrer la lecture du code (incrémenter le nombre de lecture ou basculer le boolean à True)
UPDATE T_CodesEAN SET NbLecture = :NouveauNbLecture WHERE CodeEAN = :CodeSaisi
En relisant ton message pendant que je réponds, je me demande si ton Champ22 correspond au champ Lu / Non Lu; mais je ne comprends pas pourquoi tu veux y insérer une valeur en lettre (CTRL) ?
Partager