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

Requêtes et SQL. Discussion :

Ajout automatique de données dans une date selon une règle [AC-2013]


Sujet :

Requêtes et SQL.

  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
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 261
    Points : 6 557
    Points
    6 557
    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)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil 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
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 261
    Points : 6 557
    Points
    6 557
    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)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil 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 Langage
    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