ACCESS - Critère date dans une requête ajout.

Résolu
Bonjour,

J'ai deux tables

SALES et SALESw de structure presque identique.

Je veux ajouter des enregistrements de SALES dans SALESw en prenant comme critère Année(Date())-1.

J'obtiens un ajout de 0 enregistrements alors que la table source en contient.

Si je supprime la condition de date, ma requête sélectionne les enregistrements de SALES.

Ma requête :
INSERT INTO SALESw ( [INVOICE NUMBER], [DATE INVOICE], [CUSTOMER NUMBER], PRODUCT, [FAMILY CODE], QUANTITY, DISCOUNT, [NET PLN] ) 
SELECT SALES.[INVOICE NUMBER], SALES.[DATE INVOICE], SALES.[CUSTOMER NUMBER], SALES.PRODUCT, SALES.C_FAMART AS [FAMILY CODE], SALES.QUANTITY, SALES.DISCOUNT, SALES.[NET PRICE (PLN)] AS [NET PLN]
FROM SALES
WHERE (((SALES.[DATE INVOICE])=Year(Date())-1))
ORDER BY SALES.[DATE INVOICE] DESC;

Je ne comprends pas quel est le problème?

La condition de date?

Merci pour une aide précieuse.

Configuration: Windows / Firefox 84.0

3 réponses

  1. Modérateur
    Bonjour,

    Je ne comprends pas pourquoi tu as autant de parenthèses...
    Ton where me semble faut
    Que contient ton champ SALES.[DATE INVOICE] ? des Années ou des dates ?

    Si des Années
    WHERE Year(SALES.[DATE INVOICE]) =Year(Date())-1
    


    1
    1. Merci d'avoir répondu.
      SALES.[DATE INVOICE] contient des dates.
      La syntaxe de mon where ne semble pas fausse.
      Elle fonctionne bien dans d'autres requêtes. Par exemple création de table.

      Le where proposé :
      WHERE =Year(SALES.[DATE INVOICE]) =Year(Date())-1
      donne une erreur " Opérateur absent"
      0
      1. Modérateur
        Le premier "=" est une erreur de copier/coller de ma part.
        0
    2. Vous aviez parfaitement raison.
      Mon where était mal formulé.
      Merci pour ton aide.
      J'apprécie beaucoup.
      Bonne fin de journée
      0