Champs dans access avec conditions...

chaudier37 Messages postés 209 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 juillet 2009 - 4 nov. 2007 à 13:54
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 5 nov. 2007 à 11:13
Bonjour
je travaille dans access.
j'ai une table qui comporte trois chanps : nom, trouvé, date
champs nom : champs texte
champs trouvé  : avec case à cocher : oui ou non
champs date : date... si le champs trouvé est coché oui, on doit mettre la date dans le champs date, sinon il doit rester vide.

je voudrais mettre cette condition dans la table et je n'y arrive pas. je tente de le faire par vb mais je ne connais pas la syntaxe exacte.

quelqu'un peut il m'aider ? merci

4 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 nov. 2007 à 18:44
Salut,
je crois que tu dois le faire par code.
Au moment de la mise à jour de ta table.

J' ai tenté le coup avec Vaide Si, mais parmis
les fonctions intègrées, il n'y a pas le fameuc IIF(machin, Vrai,Faux).
De plus il n' affiche pas les champs pour en choisir un sur
lequel on peut tester.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
5 nov. 2007 à 10:08
Heu, je ne te comprends pas :
Une table contient des données brutes. Tu ne peux pas y mettre de conditions.
Ce que tu veux, c'est mettre à jour la table en fonction de ce qui se trouve dans le champ "trouvé" ? Ou c'est juste un affichage ? Dans les deux cas, faudra passer par une requête ou du code. Mais je conseille la requête, avec l'assistant d'ACCESS, c'est très simple. Pas de code, quelques glisser/déposer et ça roule.

Je pense que tu veux mettre à jour le champ Date (au passage, donne un autre nom que Date à ton champ, c'est un mot réservé dans ACCESS et tu risques de t'y perdre ou parfois de te retrouver avec un résultat étonnant, vaut mieux mettre DateTrouvée par exemple), tu vas donc devoir créer une requête Mise à jour en sélectionnant deux champs :
Tu prends le champ "Trouvé" et tu lui mets en critère "Vrai"
Tu prends le champ "Datetrouvée" et tu lui mets en mise à jour : "Date()"

A chaque fois que tu exécuteras la requête, chaque enregistrement de ta table sera mis à jour avec la date du jour quand le champ Trouvé est coché. A toi d'adapter après avec d'autres critères (mettre la date quand la case est cochée et que la date est à null, quelle date renseigner, etc ...)

Si ce n'est pas ce que tu voulais obtenir, et bien, précise un peu plus ton besoin ^^
Mais en tout état de cause, il n'y a pas de conditions dans une table. Que de la donnée brute.

Molenn
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
5 nov. 2007 à 10:19
Bonjour Molenn,
ce qu' il veut dire ,je pense que , c' est que lorsqu' on tente de d' entrer  une date , Access doit tester sur la valeur de l' autre champ.Si c' est True accepter la donnée, si c' est False mettre AUTOMATIQUEMENT null dans le champ Date.
Ce qui me parait, à défaut du code,  infaisable !

AUTOMATIQUEMENT oui , mais il doit le gérer lui même par code.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
5 nov. 2007 à 11:13
Ah, oui, dans ce cas ^^
Mais ça sous-entend qu'il travaille avec un formulaire dans ce cas pour la mise à jour de la table. Et là, il faut effectivement gérer un peu de code derrière les objets.

Par contre, s'il travaille directement dans la table, c'est impossible.

Pour les formules, le IIf existe, mais dans les fonctions intégrées, son petit nom, c'est VraiFaux ce qui est la plus intuitive, je suis d'accord

Molenn
0
Rejoignez-nous