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

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2019
    Messages : 6
    Points : 5
    Points
    5

    Par défaut Ajout automatique de données dans une date selon une règle

    Bonjour à tous,

    J'ai bientôt terminé ma base de données mais elle demande quelques petites optimisations.
    Pour alimenter une table C, j'ai créé un formulaire de saisie F_C.
    Mais en réalité, il serait préférable et plus simple pour l'utilisateur de ne pas avoir à rentrer dans ce formulaire puisque la table C en question pourrait être alimentée en automatique puisqu'il s'agit d'occurrence de date (création d'un événement tous les lundis).
    J'aimerais donc savoir s'il est possible incrémenter la table selon cette règle donnée, et si oui, comment faire ?

    Je vous remercie par avance pour votre retour !

    À bientôt !

  2. #2
    Membre émérite Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    1 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 1 492
    Points : 2 291
    Points
    2 291

    Par défaut

    Une solution
    La tbljours contient le champ numjour de type numérique entier long et les valeurs de 1 à 31.
    La tblC contient le champ mondayevent qui sera alimenté par le req qui suit dont le principe est d'extraire dans le mois courant les lundis.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO tblC (mondayevent)
    SELECT DateSerial(Year(Date()), Month(Date()), numjour) AS lundis
    FROM tblJours
    WHERE Month(DateSerial(Year(Date()), Month(Date()), numjour)) = Month(Date()) AND Weekday(Day(DateSerial(Year(Date()),Month(Date()),numjour))=2;
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse est pertinente. N'oubliez pas svp de clôturer le sujet en cliquant sur

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2019
    Messages : 6
    Points : 5
    Points
    5

    Par défaut

    Merci Hyperion !
    Ca marche très bien. Mais le soucis c'est que la série que le code crée tous les lundis du mois en cours (par rapport à la date système).
    N'y aurait-il pas possibilité de créer cette série pour une année complète ?

    Merci encore pour le coup de pouce !

  4. #4
    Membre émérite Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    1 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 1 492
    Points : 2 291
    Points
    2 291

    Par défaut

    A copier sur l'évènement sur click() d'un bouton de commande dans un form.
    La 1ère partie de la syntaxe va créer une tbl temporaire calendrier_tmp qui sera alimenter via une boucle de dates qui vont du 1er janv. au 31 déc. de l'année en cours. La seconde partie alimente la tblC des dates qui correspondent au lundi.
    Vous devez sélectionner et copier ce code et le coller dans un module standard dans l'environnement vba (Alt F11)

    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
    Private Sub Commande4_Click()
    Dim I As Integer, j As Integer
    Dim datedeb As Date
     
    CurrentDb.Execute "CREATE TABLE tblCalendrier_tmp (" _
        & " [id] AUTOINCREMENT PRIMARY KEY," _
        & " [jours] DATETIME)", dbFailOnError
     
    datedeb = DateSerial(Year(Date), 1, 1)
    datefin = DateSerial(Year(Date), 12, 31)
    j = datefin - datedeb
    For I = 0 To j
    CurrentDb.Execute "INSERT INTO tblCalendrier_tmp ([jours])" _
        & " VALUES (#" & DateAdd("d", I, datedeb) & "#);", dbFailOnError
    Next I
    CurrentDb.Execute "INSERT INTO tblC (mondayevent) " _
        & " SELECT jours" _
        & " FROM tblCalendrier_tmp" _
        & " WHERE Weekday([jours]) = 2" _
        & " AND EstFerie([jours]) = False" _
        & " ORDER BY jours;", dbFailOnError
    DoCmd.DeleteObject acTable, "tblCalendrier_tmp"
    RefreshDatabaseWindow
    End Sub
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse est pertinente. N'oubliez pas svp de clôturer le sujet en cliquant sur

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2019
    Messages : 6
    Points : 5
    Points
    5

    Par défaut

    Ca marche super bien !!! Rien à dire !
    Merci Hyperion pour vos explications, elles étaient très claires

    J'espère qu'elles pourront servir à d'autres.
    À bientôt !

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

Discussions similaires

  1. Ajout automatique de données dans une table
    Par Edios51 dans le forum VB.NET
    Réponses: 0
    Dernier message: 23/08/2010, 17h01
  2. Ajout automatique d'espace dans une variable numérique
    Par enclave_51 dans le forum Fonctions
    Réponses: 2
    Dernier message: 08/08/2008, 18h49
  3. Réponses: 3
    Dernier message: 03/07/2008, 14h32
  4. Ajout automatique d'enregistrement dans une table.
    Par bestofbasile dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 17/01/2008, 14h01
  5. Réponses: 2
    Dernier message: 28/03/2006, 11h45

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