Bonjour à tous,
Voilà, maintenant je craque et je poste des fois que...
Dans le code suivant :
je vérifie si c'est une entré en stock. Si oui, la facture arrivant après l'entrée en stock, je dois rechercher mon prix jusqu'en fin de mois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 DateMvt = dtNomDyna![Date Mvt] Entrée = IIf(dtNomDyna![Qté] > 0, True, False) If Entrée = True Then ' Si c'est une entrée, on valorise à la date de fin de mois DateMvt = DateSerial(Year(DateMvt), Month(DateMvt) + 1, 0) End If 'Recherche du prix compil = "SELECT TOP 1 Id_art, Date, Prix_par_Ustk " & _ "FROM [Prix exploitables graph] WHERE Id_art = " & Article & " And Date <= #" & DateMvt & "#" & _ " ORDER BY Date DESC;" Set Dqdef = CurrentDb.CreateQueryDef("") Dqdef.sql = compil Set JeuPrix = Dqdef.OpenRecordset(dbOpenDynaset) If JeuPrix.AbsolutePosition > -1 Then 'Il y a un prix PuHT = JeuPrix.[Prix_par_Ustk] DatePrix = JeuPrix.[Date] Else PuHT = Null DatePrix = Null End If
Donc, le problème est le suivant :
Dans la requête qui suit, si la date est directement prise à partir de la valeur du champ "dtNomDyna![Date Mvt]", la date est correctement prise en compte et le filtre fonctionne correctement.
Si la date est ramenée à celle de fin de mois (30/09/07) par exemple, la requête ne la prend pas.
Inutile de vous dire que j'ai essayé tous les formats qui me semblaient possibles en passant entre # ou sans et en faisant varier les ddmmyy ou yyddmm etc.
Bref, après avoir passé tout l'après-midi dessus, j'abandonne.
Merci à tous par avance.
PS version access 2003
Partager