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

Résolu
RAPACE67 -  
 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

jordane45 Messages postés 40050 Statut Modérateur 4 755
 
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
RAPACE67
 
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
jordane45 Messages postés 40050 Statut Modérateur 4 755
 
Le premier "=" est une erreur de copier/coller de ma part.
0
RAPACE67
 
Vous aviez parfaitement raison.
Mon where était mal formulé.
Merci pour ton aide.
J'apprécie beaucoup.
Bonne fin de journée
0