IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros Access Discussion :

Probléme de syntaxe sur une requête Date


Sujet :

Macros Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Probléme de syntaxe sur une requête Date
    Bonjour tout le monde,
    Je ne suis pas très calé en bureautique, mais j'ai cependant accepté de créer une base Access pour une association.
    Mes tables sont simples mais fonctionnelles et après de multiples essais aucun bug ne se profile à l'horizon. Pas de bug certes, mais une énorme prise de tête dans ma requête renouvellement abonnement des adhérents. Je me votre lamentablement sur la syntaxe que je ne maitrise pas.
    est-ce qu'une âme charitable pourrait me donner un coup de main, afin que je puisse finaliser leur Base de données ?
    Voilà le problème :
    J'ai un champs ( Date de renouvellement) que l'on saisie manuellement lorsque l’adhérent paye son année.
    Et un autre champs (statut) qui lui doit être automatisé [A jour] [Pas à jour].
    (Date de renouvellement >= 12 mois "Pas à jour" (en prenant comme référence la Date de l'horloge du PC) Si non < 12 mois "A jour".
    J’espère être explicite et je vous remercie d'avance pour un petit coup de main.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pourrais-tu mettre un exemple de données et de résultat attendu.

    Il va probablement falloir utiliser DateAdd() ou DiffDate() (désolé je ne connais pas leurs noms en français) et la date système Date().

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Bonjour.

    Pourrais-tu mettre un exemple de données et de résultat attendu.

    Il va probablement falloir utiliser DateAdd() ou DifDate() (désolé je ne connais pas leurs noms en français) et la date système Date().

    A+
    Merci marot_r
    Je vais essayer de faire simple.
    Monsieur "X" s'inscrit le 12/02/2016------> champs "renouvellement" le 12/02/2017 (A saisir manuellement ou en automatique)
    Dans le champs "Statut" apparait "pas à jour" - Normal nous sommes le 24 juillet 2017 il donc plus de 5 mois de retard.
    Le même exemple avec une inscription le 12/07/2016 donnera "A jour" puisque la date d'anniversaire n'est pas encore dépassée.

    J’espère être plus clair cette fois

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    dans une requête vous pouvez essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Switch(DateSerial(Year([Inscription]) + 1; Month([Inscription]); Day([Inscription])) >= Date(); "A Jour"; Nz([Renouvellement]; Date()) < Date(); "Pas à jour")

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    merci Galoir
    Je viens d'"essayer, ça ne fonctionne pas (erreur de valeur de paramètres), mais je le garde sous la main car j'ai peut être d'autre chose a corriger au préalable.
    En regardant ta suggestion je me dis que ça correspond bien a ce que je cherche mais lorsque je l’intègre dans les critères ça ne veut pas s'exécuter.

    Je continu à chercher
    Merci

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Re et merci de te prendre la tête sur mon problème
    J'ai simplifié !
    Les champs :
    Renouvellement (Champ Date)
    Statut ( Champ Texte)

    L'idéal serait que je puisse avoir l'info depuis le formulaire et donc intégrer le petit code dans le champs (Statut) et donc de l'intégrer dans "Données /Source contrôle" dans le générateur d'expressions.
    Pièce jointe 300070
    Autrement je passerais par une requête.

    Voici l'exemple :
    Pièce jointe 300077

    la personne a adhéré 07/07/2017 ( ce champ n'a pas d’importance ). La date de son renouvellement est le 07/07/2018 "12 mois plus tard ou 365 jours.
    Dans mon champs Statut s'affiche (Pas a jour) puisque il aurait dû régler son abonnement il y un mois puisque nous sommes ce jour le .03/08/2017.

    Dans mon langage de nul voici ma demande:

    Si (Aujourd'hui)>= (Renouvellement) Alors [Pas à jour] sinon [A jour]
    Il me manque juste la bonne syntaxe.

    Encore merci




    Citation Envoyé par marot_r Voir le message
    Bonjour.

    Pourrais-tu mettre un exemple de données et de résultat attendu.

    Il va probablement falloir utiliser DateAdd() ou DiffDate() (désolé je ne connais pas leurs noms en français) et la date système Date().

    A+

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Voici un exemple sur le formulaire
    Nom : Formulaire.jpg
Affichages : 129
Taille : 61,6 Ko
    Le champs STATUT affiche bien "pas a jour" puisque la différence entres sa date de renouvellement et aujourd'hui est = à 1 ans ou 365 jours, donc il doit renouveler.
    Me reste plus qu'a faire une requête pour faire apparaitre tous les adhérents "pas a jour" et envoyer le publipostage ou le mailing selon leur choix.

    Citation Envoyé par jean-des-champs Voir le message
    Re et merci de te prendre la tête sur mon problème
    J'ai simplifié !
    Les champs :
    Renouvellement (Champ Date)
    Statut ( Champ Texte)

    L'idéal serait que je puisse avoir l'info depuis le formulaire et donc intégrer le petit code dans le champs (Statut) et donc de l'intégrer dans "Données /Source contrôle" dans le générateur d'expressions.
    Pièce jointe 300070
    Autrement je passerais par une requête.

    Voici l'exemple :
    Pièce jointe 300077

    la personne a adhéré 07/07/2017 ( ce champ n'a pas d’importance ). La date de son renouvellement est le 07/07/2018 "12 mois plus tard ou 365 jours.
    Dans mon champs Statut s'affiche (Pas a jour) puisque il aurait dû régler son abonnement il y un mois puisque nous sommes ce jour le .03/08/2017.

    Dans mon langage de nul voici ma demande:

    Si (Aujourd'hui)>= (Renouvellement) Alors [Pas à jour] sinon [A jour]
    Il me manque juste la bonne syntaxe.

    Encore merci

Discussions similaires

  1. Problème de syntaxe d'une requête
    Par Oulaoup dans le forum Access
    Réponses: 4
    Dernier message: 02/08/2017, 19h19
  2. Problème de SUM sur une requête SQL
    Par Lapicure dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 12/06/2007, 11h51
  3. Problème avec coun(*) sur une requête
    Par Kaoru-tabris dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/03/2007, 15h00
  4. [MSDE] Problème de groupage sur une requête
    Par joefou dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/11/2006, 09h43
  5. Erreur de syntaxe sur une requête paramétrée
    Par deglingo37 dans le forum Access
    Réponses: 5
    Dernier message: 16/05/2006, 22h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo