[ACCESS] Probleme date calcul ( mois en 10)

  • Auteur de la discussion romstek31
  • Date de début

romstek31

Nouveau membre
Bonjour à tous j'ai un probleme sous ACCESS
Je dois comparer des dates en ajoutant 2 mois a la 1ere pour voir sii elle depasse une certaine date (ici celle d'aujourd'hui)

Je vous montre mon code :



[cpp]SELECT Count([Dossier].[idAffaire]) AS calculMEC2mois
FROM Dossier
WHERE ((((Month([Dossier].[dateMEC])*100))=(([listemois])*100)) AND (((Year([Dossier].[dateMEC])*10000))=(([listeannee])*10000)) AND (((Year([Dossier].[dateARO])*10000)+((Month([Dossier].[dateARO])+2)*100)+Day([Dossier].[dateARO]))<((Year([Dossier].[dateMEC])*10000)+(Month([Dossier].[dateMEC])*100)+Day([Dossier].[dateMEC]))));

Iif([listemois]=11,[listemois]=01 & [listeannee]=[listeannee]+1,Iif([listemois]=12,[listemois]=02 & [listeannee]=[listeannee]+1,[listemois]=[listemois]+2))[/cpp]


le select est ma requete et je veux mettre en plus la condition iif mise en dessous du select et je ne sais pas comment faire

Est ce que quelqu'un pourrait m'apporter son aide
Merci d'avance
 

zeb

Modérateur
Han! :ouch: Quel horreur ACCESS !!!!!

Bon, cher Romstek, ça va saigner :
■ Arrête avec ACCESS, c'est de la viande avariée [:vomi]
■ Vire-moi ces 50 parenthèses et ces 40 crochets inutiles. :sarcastic: Ton code, revu :
Code:
SELECT Count(idAffaire) AS calculMEC2mois
 FROM Dossier
WHERE Month(dateMEC)*100=listemois*100
  AND Year(dateMEC)*10000=listeannee*10000
  AND Year(dateARO)*10000+(Month(dateARO)+2)*100+Day(dateARO)<
      Year(dateMEC)*10000+ Month(dateMEC)   *100+Day(dateMEC);
■ Tu es sûr qu'une condition A * 100 = B * 100 ne peut pas être simplifiée (Lignes 3 et 4) ?
■ Tu es obligé d'éclater dateMEC pour le reconstruire (Ligne 6) ?
■ Utilise les fonctions du SGBD pour traiter les dates.

Une soluce :
Code:
 SELECT  Count ( idAffaire ) AS calculMEC2mois
  FROM  Dossier
 WHERE  Month   ( dateMEC )         = listemois
   AND  Year    ( dateMEC )         = listeannee
   AND  DateAdd ( "m", 2, dateARO ) < dateMEC

Le secret est dans la fonction DateAdd ;)
 

romstek31

Nouveau membre
franchemnt merci beaucoup pr tn aide precieuse
ça va me simplifié ma dizaine de formule la
merci beaucoup
ps : je ne peux pas arréter avec access , je suis en stage et je suis obligé de dévelloper ss access :s:s
 

zeb

Modérateur
ps : je ne peux pas arréter avec access , je suis en stage et je suis obligé de dévelloper ss access
Ben j'avais compris ;) Personne n'utilise Access pour le plaisir.

N'hésite pas à consulter l'aide d'Access pour y trouver des trucs comme
DateAdd.

Par ailleurs, sur le net, il existe de bons tutos sur SQL en général, orienté MySQL ou Oracle en particulier. Sers-t'en ! Si tu trouves un exemple avec ADD_MONTHS de Oracle, bah, demande à google comment on dit en langage "Microsoft" ...

Bon, sinon, il y a encore PPC...
 

Freeman23

Expert
Si moi :D

Connaissant Access sur le bout des doigts et bien qu'il ai des défauts il offre quand même de nombreuses possibilités. Alors meme si c'est plus IN :p de faire du php ou du .net, je m'amuse beaucoup avec Access.
 

romstek31

Nouveau membre
jé une colone en numérotation automatique et je veux qu'une otre colone prenne la mm numérotation mais on ne peut pas avoir 2 colonnes en automatique !
Comment faire?
 

zeb

Modérateur
Gné..... G pa con-pRi (Attention à la rédaction !!!! [:zeb] )

Quelle autre colonne ?
 

romstek31

Nouveau membre
jé une colone A en num auto et je veux ke ma colonne B prenne les mm valeurs ke la A
 

zeb

Modérateur
Dans la même table ?
[fixed]update T
set B = A[/fixed]

Edit: Mais c'est une hérésie. Tu violes la première forme normale. :o
 

romstek31

Nouveau membre
ué jé une colone CRTGE avec comme masque de saisie "G"+num auto+"PGE" et je veux ke ma colonne CRTCad prenne comme paramétre "G"+num auto de CRT GE+"Cad"
et jarrive pa a prendre le num du crtge c pr ça
 

Freeman23

Expert
Dans ce cas le plus simple encore et d'avoir qu'un seul numéro.

G + numauto

et tu rajoute à l'affichage seulement ton CAD ou PGE.
 

romstek31

Nouveau membre
Merci pour cette solution j'ai fais comme ça et ça marche ;)

Dernier petit problème, j'ai liste liste déroulante modifiable contenant en 1ere colonne le nom de la commune et en 2ème colonne le code INSEE de la commune.
Problème : Lorsque je sélectionne une commune, il n'ya a que la 1ere colonne qui s'affiche , et-il possible d'afficher le code INSEE a coté
ou alors de récupérer la 2 eme colonne et de l'afficher dans un champ à coté
Merci de vos réponse ;)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 954
Membres
1 586 382
Dernier membre
alejandrooo
Partager cette page
Haut