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 :

requête ajout complexe à réaliser avec des duplications


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 75
    Points : 42
    Points
    42
    Par défaut requête ajout complexe à réaliser avec des duplications
    bonjour à tous

    Je suis en train de faire une base de données sous Access 2010 où l'utilisateur doit saisir les absences des salariés. J'ai créé une table "Absences" et son formulaire. Lorsque l'utilisateur remplit ce formulaire, il crée une fiche et saisit le jour de l'absence [Date_debut_absences], son motif et le nom du salarié et le jour où il revient [date_fin_absences]. Cependant l'utilisateur voudrait dupliquer le nombre de fiche en fonction du nombre d'absences afin que l'autres personnes puissent suivre les absences chaque jour. Si le nombre de jours d'absences est de 3 il faudrait dupliquer 2 fiches en changeant le champ [Date_debut_absences] à qui, on ajoutera un jour supplémentaire à chaque duplication.

    exemple : le salarié est absent le 24/03 au 26/03 inclus (soit 3 jours). Sur la première fiche saisie par l'utilisateur il inscrira dans le champ [date_debut_absences] le 24/03 puis en cliquant sur un bouton qui est relié à la requête ajout, 2 autres fiches devront être créées en ayant dans le champ [date_debut_absences] le 25/03 et le 26/03.

    Ci dessous, ma requête ajout qui fonctionne très bien mais uniquement pour une seule duplication. J'ai créé un champ "case à cocher" pour sélectionner les fiches à dupliquer d'ou la dernière ligne WHERE (((ABSENCES.DUPLIQUER)=True));.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO ABSENCES ( DATES_DEBUT_ABSENCES, DATES_FIN_ABSENCES, DUPLIQUER, AMPM_ABSENCES, ID_MOTIF, ID_ENSEIGNANT, CONVOCATIONABSENCES, AUTRESABSENCES )
    SELECT [DATES_DEBUT_ABSENCES]+1 AS [JOUR SUIVANT], ABSENCES.DATES_FIN_ABSENCES, ABSENCES.DUPLIQUER, ABSENCES.AMPM_ABSENCES, ABSENCES.ID_MOTIF, ABSENCES.ID_ENSEIGNANT, ABSENCES.CONVOCATIONABSENCES, ABSENCES.AUTRESABSENCES
    FROM ABSENCES
    WHERE (((ABSENCES.DUPLIQUER)=True));

    Merci d'avance pour aide, car là je bloque.

    Cordialement
    Ludovic

  2. #2
    Membre régulier Avatar de zoopsys
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 68
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Et tu t'y connais pas en vba ?

    car il suffirait par exemple d’exécuter ta requête dans une boucle dont le compteur correspondrait au nombre de jours.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 75
    Points : 42
    Points
    42
    Par défaut requête ajout complexe à réaliser avec des duplications
    Merci pour ta réponse. non je débute avec le VBA, j'ai essayé de faire quelque chose (voir ci-dessous) avec l'aide d'un livre, mais cela ne fonctionne pas. Pour la boucle et le compteur, solution que tu proposes je pense que c'est la bonne mais je ne sais pas du tout comment faire.

    Pourrais tu m'aider ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Commande23_Click()
    Dim MYsql As String
    MYsql = "INSERT INTO ABSENCES"
    MYsql = MYsql + "(DATES_DEBUT_ABSENCES, DATES_FIN_ABSENCES, DUPLIQUER, AMPM_ABSENCES, ID_MOTIF, ID_ENSEIGNANT, CONVOCATIONABSENCES, AUTRESABSENCES)"
    MYsql = MYsql + "SELECT [DATES_DEBUT_ABSENCES]+1 AS [DATE SUIVANTE], ABSENCES.DATES_FIN_ABSENCES, ABSENCES.DUPLIQUER,"
    MYsql = MYsql + "ABSENCES.AMPM_ABSENCES, ABSENCES.ID_MOTIF, ABSENCES.ID_ENSEIGNANT, "
    MYsql = MYsql + "ABSENCES.CONVOCATIONABSENCES, ABSENCES.AUTRESABSENCES"
    MYsql = MYsql + "FROM ABSENCES"
    MYsql = MYsql + "WHERE(((ABSENCES.DUPLIQUER) = True))"
     
    DoCmd.RunSQL MYsql

    Merci d'avance

    Ludovic

Discussions similaires

  1. requête ajout complexe
    Par bourguignon21 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 02/07/2007, 15h27
  2. [Inno Setup] ajouter une page avec des checkbox
    Par cotede2 dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 28/05/2007, 23h01
  3. [MySQL] Requête insertion mais que avec des entiers
    Par elikakoun dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/05/2007, 16h23
  4. [VBA] Requête + date pour travailler avec des recordsets
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/08/2006, 15h15

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