Access, problème avec critère

Fermé
zaradia - Modifié par zaradia le 9/07/2013 à 21:22
zaradia Messages postés 3 Date d'inscription vendredi 22 février 2002 Statut Membre Dernière intervention 7 novembre 2013 - 16 juil. 2013 à 19:54
Bonjour,

J'ai un problème avec un critère dans une requête de ma base de données Access 2010.
En gros dans ma requête j'ai 2 dates EFFDATE qui est la date de mise en service d'une option sur le compte d'un client et ENDDATE qui est la date à laquelle l'option sera retiré du compte du client. Dans ma requête je dois sortir toutes les options qui ont une ENDDATE supérieur à la EFFDATE ou qui est vide car je ne veux pas compter les options qui ont été ajouté et retiré la même journée et je dois garder les options qui n'ont pas de date de fin. Le format de EFFDATE est date mais le format de ENDDATE est texte car ma source de données est configurée comme ça et ce serait compliqué pour plusieurs raisons de le changer. Dans critère j'ai inscris "" pour garder les options qui n'ont pas de ENDDATE et dans Ou j'ai essayé >[EFFDATE] + "1" et j'ai aussi essayé <>[EFFDATE] mais ça ne fonctionne pas. Je me suis même demandé si ce que je veux faire est possible.

Merci à l'avance pour votre aide!



2 réponses

blux Messages postés 26033 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2024 3 289
10 juil. 2013 à 10:40
Salut,

comme en primaire on apprend à ne pas additionner des choux avec des carottes, en informatique, on ne compare que des données identiques...

Une date ne se compare pas avec du texte...

Il faut que tu transformes ton texte en date dans la requête pour la comparer.
La fonction cdate() devrait te permettre de t'en sortir, regarde l'aide à son sujet.
0
zaradia Messages postés 3 Date d'inscription vendredi 22 février 2002 Statut Membre Dernière intervention 7 novembre 2013
Modifié par zaradia le 16/07/2013 à 20:05
Merci blux pour ta réponse.

J'ai essayé la fonction cdate() et je n'ai pas réussi à faire fonctionner ma requête. Je me suis donc raviser à changer le type de donnée de ma table, mais quand je le faisais en mode création j'obtenais une erreur indiquant que la mémoire n'était pas suffisante pour effectuer le changement (ma table commence à être pas mal grosse). Je me suis donc fait une nouvelle table qui a exactement les même noms de champ et avec mon champ ENDDATE en format date puis j'ai importé les données de ma table originale à l'aide d'une requête ajout. Le seul problème, maintenant quand j'importe de nouvelles données j'obtiens une erreur qui dit ceci "Le contenu de champs de 2271 enregistrement(s) a été effacé et 0 enregistrement(s) ont été perdus à la suite de violation de clé". Je ne comprend pas trop car je n'ai pas de clé primaire dans ma table. Maintenant je perds des données alors je ne suis pas plus avancée!!

Merci à tout ceux qui sont venu lire.
0