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 :

A partir d'un intervalle de date remplir des données jour par jour [AC-2003]


Sujet :

Access

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Points : 13
    Points
    13
    Par défaut A partir d'un intervalle de date remplir des données jour par jour
    Bonjour,

    Je suis débutante sous access et je commence à construire une base de données.
    Je n'ai pas réussi à trouver d'explication à mon pb sur les forums d'aide, mais j'ai peut-être mal cherché ou mal compris...

    J'ai des projets réalisés sur des périodes de temps données.
    Je remplis une date de début et date de fin dans mon formulaire pour chaque projet.
    Et je souhaiterai indiquer la météo pour chaque jour de cet intervalle de date.

    Comment pourrais-je procéder afin d'obtenir un formulaire de saisie des dates(nombre variable) par projet?
    Est-il possible que tous les jours de ces périodes soient automatiquement calculés afin d'éviter un oubli de saisie de la météo?

    J'ai seulement réalisé une table "PROJET" indiquant les intervalles de temps.

    Je vous remercie d'avance!

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour colline_,

    L'utilisation d'une deuxième table disons T_PROJET_TEMPERATURE en relation avec la table PROJET te permettrait de faire ce que tu veux. Ta deuxième table aurait les champs suivants:

    ID_PROJET_TEMPERATURE/num auto/clé primaire
    PROJET_FK/numérique/clé externe
    Date_Temperature/Date Heure
    Les autres champs nécessaires.

    Lors de la création d'un projet, après l'ajout de la date du début et de la date de fin, tu insères dans la table T_PROJET_TEMPERATURE les dates nécessaires. Cela peut se faire facilement en VBA avec une fonction du genre:
    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
    Public Function AjoutTemp(dadebut As Date, datefin As Date, loProjet As Long)
     
        'Déclaration des variables
        Dim db As DAO.Database: Set db = CurrentDb
        Dim rst As DAO.Recordset
        Dim strSQL As String
        'Ouverture du record
        strSQL = "Select T_PROJET_TEMPERATURE.* from T_PROJET_TEMPERATURE;"
        Set rst = db.OpenRecordset(strSQL)
        'Parcours des dates
        While dadebut <= dafin
            rst.AddNew
                rst("PROJET_FK") = loProjet
                rst("Date_Temperature") = dadebut
            rst.Update
            dadebut = DateAdd("d", 1, dadebut)
        Wend
        'libération
        rst.Close
        Set rst = Nothing
        Set db = Nothing
     
    End Function
    Tu appelles la fonction avec un bouton de commande ou après mise à jour du champ, tu vois ce qui est le mieux pour toi. L'appel se fait comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AjoutTemp LeChampQuiContientLaDateDébut, LeChampQuiContientLaDateFin, LeChampQuiContientLaCléPrimaireDeLaTableProjet
    Tu pourrais ainsi afficher dans un sous formulaire en mode continu tous les jours de ton projet.

    Bonne chance

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Points : 13
    Points
    13
    Par défaut
    Bonjour Robert1957,

    Merci pour cette réponse!
    Je pense avoir bien suivi tes instructions et la fonction en VBA semble fonctionner (pas de message d'erreur! ouf!merci).
    Par contre pour le suite, j'ai encore une question...Comme Access c'est nouveau pour moi, je n'ai pas réussi à appeler la fonction à l'aide du bouton de commande que j'ai crée dans le formulaire T_PROJET_TEMPERATURE.

    Dois-je créer une macro, une requête? Il y a peut-être des tutoriels pour cela?

    Je vous remercie d'avance!

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 76
    Points
    76
    Par défaut Création d'un bouton dans un formulaire access
    Bonjour,

    Voici un petit document pour expliquer comment créer et lier un bouton dans un formulaire Access.
    Bonne lecture et construction

    Salutations

    Notre Dame
    Fichiers attachés Fichiers attachés

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Tout d'abord merci pour ce tuto Notre Dame!
    Mais je suis malheureusement obligée de revenir vers vous...Je n'y arrive finalement pas. . Je fais certainement une mauvaise manip.
    Je vais détailler ma démarche:

    J'ai une table T_Sessions avec:
    numsession/num auto/ clé primaire
    date-debut/Date Heure
    date-fin/ Date Heure
    etc...

    J'ai construit une table T_Meteo_Session avec:
    nummeteo/num auto/clé primaire
    numsession/numérique/clé externe
    date/ Date Heure
    temperature/numérique
    etc...

    J'ai crée automatiquement leurs formulaires respectifs.
    Puis j'ai ajouté un bouton commande sur le pied de formulaire de F_Meteo_Session.
    Je le nomme AjoutMeteo. Sur Onclick je click sur générateur de code et inscrit en VBA:

    Code
    Public Function AjoutMeteo(dadebut As Date, datefin As Date, loProjet As Long)

    'Déclaration des variables
    Dim db As DAO.Database: Set db = CurrentDb
    Dim rst As DAO.Recordset
    Dim strSQL As String
    'Ouverture du record
    strSQL = "Select T_Session_Meteo.* from T_Session_Meteo;"
    Set rst = db.OpenRecordset(strSQL)
    'Parcours des dates
    While dadebut <= dafin
    rst.AddNew
    rst("numsession") = loProjet
    rst("date") = dadebut
    rst.Update
    dadebut = DateAdd("d", 1, dadebut)
    Wend
    'libération
    rst.Close
    Set rst = Nothing
    Set db = Nothing

    End Function

    J'ai testé le code et il n'y a pas d'erreur détectée.
    Quand je clique sur le bouton de commande sur le formulaire F_Session_Meteo, rien ne se passe...
    Aussi j'ai essayé de créer un module "AjoutTemp" et d'appeler la fonction en notant à onclick: =AjoutTemp ().
    Dans un dernier temps j'ai essayé le générateur d'expression pour le bouton de commande en suivant le modèle de Robert1957.

    Est-ce que je m'y prends totalement de travers?
    Merci à ceux qui prendrons le temps de me répondre!!

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 76
    Points
    76
    Par défaut Une copie faut mieux que des messages
    Bonjour

    Afin de ne pas perdre de temps et pour nous montrer l’avancement de ton projet, il serait peut-être bien que tu nous glisse une copie de celui-ci en pièce jointe. Ainsi nous pouvons mieux voir l’application et l’ensemble des options utilisées.
    Ceci je pense va diminuer des messages sur notre site préféré et ainsi t’économiser du temps.

    À bientôt

    Notre Dame

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Points : 13
    Points
    13
    Par défaut
    Ok! Je vous le mets en pièce jointe à partir de dropbox: https://www.dropbox.com/s/wqbcjfd9w6...Base_essai.mdb

    J'espère que s'est organisé assez clairement..
    Merci beaucoup!

  8. #8
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour Colline,

    Voici un exemple de ce qui peut être fait. Un module n'est pas nécessaire ici, je ne vois pas quand tu pourras réutiliser ce code à partir d'un autre formulaire. Si c'était le cas tu n'aurais qu'à créer la même fonction mais dans un module.

    Bonne journée
    Fichiers attachés Fichiers attachés

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Points : 13
    Points
    13
    Par défaut
    Bonjour Robert et Notre Dame,

    Un grand merci pour votre aide! J'ai réussi à reproduire ton exemple Robert, et c'est parfait!
    Je suis impressionnée par votre rapidité et votre soutien.

    Je vais donc continuer dans mon apprentissage sur Access!
    Bonne journée à tous.

    colline_

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Croiser deux intervalles de date et des données différentes
    Par Arschney dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/11/2012, 14h17
  2. Réponses: 1
    Dernier message: 09/04/2008, 22h27
  3. VBA regroupement date selon choix option (par jour, par mois)
    Par IndyJones dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/12/2006, 20h06
  4. [Dates] Afficher des données à la date du jour
    Par rastatom dans le forum Langage
    Réponses: 10
    Dernier message: 18/05/2006, 11h37
  5. [VBA-E]Remplir des cellules vides par des 0
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/03/2006, 13h58

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