ACCESS - Critère date dans une requête ajout. [Résolu]

Signaler
-
 RAPACE67 -
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

Messages postés
32480
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
3 490
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


Cordialement,
Jordane
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"
Messages postés
32480
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
3 490
Le premier "=" est une erreur de copier/coller de ma part.
Vous aviez parfaitement raison.
Mon where était mal formulé.
Merci pour ton aide.
J'apprécie beaucoup.
Bonne fin de journée