IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

convertir, verifier date, année


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 17
    Points
    17
    Par défaut convertir, verifier date, année
    Bonjour,

    dans une table ou je gere l'énergie, j'inscris des périodes de consommation.

    Energie (Debutperiode, finperiode, compteur, conso)

    Dans une requete formulaire je veux rentrer une année pour qu'il m'extrait la consommation de l'année demandée. (cela demande à ce que celui qui rempli la consommation ne chevauche pas une année)

    Ex: 1/1/2003 _ 1/10/2003 compteur N°1 conso = 10000
    1/10/2003 _ 31/12/2003 compteur N°1 conso = 14000
    1/1/2004 _ 31/12/2004 compteur N°1 conso = 25000


    Je veux en tapant l'année 2003 extraire : conso compteur n°1 = 24000

    D'abord est ce possible sans que ce soit trop complexe ?

    Si oui quelque indication pour avancer
    Si non, avez vous mieux à proposer : comme par exemple au lieu de mettre une periode indiquer l'année dans la gestion des conso (Ex : 2003 compteur N°1 conso = 24000, l'utilisateur fait lui meme l'etat de l'annee.


    Merci pour vos precieux renseignements.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Une requête devrait faire l'affaire mais il faut que les dates début et fin de périodes soient chacunes dans des champs distincs.
    Une addition.

  3. #3
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 162
    Points : 197
    Points
    197
    Par défaut
    salut dans une requête tu mets tes champs et tu ajoutes un champs calculé

    = Année(date de fin)

    tu fais un regroupement et sur la consoN une somme

    et voilà jle résultat

    A+

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    en fait je suis assez surpris sur ta facon de procéder

    si le relevé n'a lieu que tous les 6 mois par exemple du 1er juillet au
    1 janvier
    avec ta méthode on aurait rattachement du 2ème semestre à l'année suivante

    en cas de branchement le 2 juillet on a quasiment 6 mois gratuit la première année

    normalement on prorate en nombre de jours

  5. #5
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 162
    Points : 197
    Points
    197
    Par défaut
    bonjour

    je pense qu'il vaut mieux utiliser une fonction et que tu vas la mettre dans ta requête

    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
    Option Compare Database
    Option Explicit
    Public ChoixAnnée As Long
    Function F_ClaculConso(DD As Date, DF As Date, Consommation As Double) As Double
    On Error GoTo suite_err
    Dim NB As Integer, NBpart As Integer
    Dim DFPart As Date
    'mon test
    'ChoixAnnée = 2003
    If ChoixAnnée < Year(DD) Or ChoixAnnée > Year(DF) Or Consommation = 0 Then
       F_ClaculConso = 0
       Exit Function
    End If
    If ChoixAnnée = Year(DD) And ChoixAnnée = Year(DF) Then
       F_ClaculConso = Consommation
       Exit Function
    End If
    'on calcule le nombre de jour entre DD et DF
    NB = DateDiff("d", DD, DF)
     
    'on cherche le dernier jour de l'année
    DFPart = DateSerial(ChoixAnnée, 12, 31)
    'on calcule le nombre de jour entre DD et DFPart
    NBpart = DateDiff("d", DD, DFPart)
    'on calcule la consommation de DD jusqu'à DFPart
    F_ClaculConso = (Consommation * NBpart) / NB
     
    suite_exit:
       Exit Function
    suite_err:
    MsgBox Err.Description & "  >>>  N° Err=" & Err.Number
    Resume suite_exit
     
    End Function
    ta variable public
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public ChoixAnnée As Long
    te permet de choisir l'année

    et tu lances ta requête

    ci-joint un exemple

    BOnne chance
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Convertir une String année en une Date année
    Par leara500 dans le forum Langage
    Réponses: 5
    Dernier message: 25/04/2013, 17h09
  2. convertir une date ex: 2011/05/10 en Mardi 10 Mai ? mois année
    Par sab_info dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/05/2011, 13h09
  3. Convertir une date au format excel en datetime SQL server
    Par ALLB dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/07/2004, 12h28
  4. Problème de reqûete sur la date, année et mois en cours
    Par Jean-Marc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/02/2004, 17h36
  5. Convertir une date en type string
    Par ziboux dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/10/2003, 11h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo