Bonjour,
je travaille sur une DB source oracle où j'ai une table comprenant des périodes => date de début et date de fin.
J'ai donc une vue via access sur ma db oracle. Quand je regarde le format de ces deux zones, c'est du format date/heure. Dans les zone 'format et 'date de saisie' de la définition de la table , il n'y a rien.
Dans mon code, je souhaite faire des contrôles sur ces dates=> comparaison de ces dates avec des dates comme 1 janvier de l'année en cours, 31 décembre de l'année en cours, dernier jours du mois en cours.
voici le code :
Je veux faire un traitement particulier pour les records dont la date de début est avant le 01/01/2017 et la date de fin > 31/12/2017
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Dim dbs As DAO.Database Dim SAVE_DEBUTPERIODE As Date Dim SAVE_FINPERIODE As Date Dim premierjanvier As Date 'stocker le prmier jour de l'année Dim finderniermois As Date 'stocker le dernier jours du dernier mois calculé Dim findecembre As Date 'stocker le 31 décembre de l'année en cours Dim derniermois As Integer 'stockr le numéro du dernier mois traité Dim cas As Integer premierjanvier = DateSerial(Year(Date), 1, 1) findecembre = DateSerial(Year(Date), 12, 31) finderniermois = DateSerial(Year(Date), Month(Date), 1) finderniermois = finderniermois - 1 derniermois = (Month(finderniermois)) ...dans une boucle SAVE_FINPERIODE = rst_zy35.Fields("DATXXX") 'fin période SAVE_DEBUTPERIODE = rst_zy35.Fields("DTEF00") 'début période cas = 0 Select Case True Case (SAVE_DEDUTPERIODE <= premierjanvier And SAVE_FINPERIODE > findecembre) traite_1 = traite_1 + 1 i = 1 j = 12 If (NUDOSS_FIND = "32395") Then MsgBox ("dans cas 1période traitée : " & SAVE_DEBUTPERIODE & " fin période : " & SAVE_FINPERIODE & "premier_janvier : " & premierjanvier) MsgBox (" i = " & i & " j = " & j) End If zapper = 0 cas = 1 End Select
=> mon case ci-dessus
Dans ma DB, j'ai un record avec ces données :
J'ai un record avec DTEF00 = 1/12/2017 et DATXXX = 31/12/2999
et ce record passe quand-même dans mon case????? alors que DTEF00 (SAVE_DEBUTPERIODE) est plus grand que 1/1/2017 ???
Help ,
Merci d'avance,
david
Partager