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

VBA Access Discussion :

Mettre à jour le champ d'une table avec le contenu du champ modifié dans une autre table


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 37
    Points
    37
    Par défaut Mettre à jour le champ d'une table avec le contenu du champ modifié dans une autre table
    Bonsoir,
    je sollicite votre aide de nouveau, suite à une modification supplémentaire.

    pour reprendre le sujet : J'ai deux table; une table planning, et une table contrat.
    en fonction des plages de dates prédéfinis dans un contrat; le code suivant insert des enregistrement dans la table planning.
    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
    35
    36
    37
    38
    39
    40
    41
    42
    Private Sub CmdAdd_Click()
    If Me.Jour1.Value = False And Me.Jour2.Value = False And Me.Jour3.Value = False And Me.Jour4.Value = False And Me.Jour5.Value = False Then
    MsgBox "Aucun jour n'a été séléctionné !", vbInformation, "Planning des gardes"
    Else
    Confirme = MsgBox("Voulez-vous ajouter ces dates sur le planning ?", vbYesNoCancel, "Planning des gardes")
    Select Case Confirme
    Case vbYes:
        DtDeb = Me.DateD
        DtFin = Me.DateF
        Num_Contrat = Me.IDContrat
        Nom_Contrat = Me.NumeroContrat
        Nom_Enfant = Me.Enfant
        Nom_Parents = Me.Famille
        Num_Famille = Me.NumeroFamille
        Nom_Repas = Me.Repas
        Nom_Garde = Me.Garde
        Num_Groupe = Me.Groupe
        Nb_Place = Me.Place
        Nom_Employe = Me.AffectéA
        Nom_Utilisateur = Me.SaisiPar
        Date_Saisi = Me.DateCréation
     
        '
            For Boucle = 0 To DateDiff("d", DtDeb, DtFin)
            DateC = DtDeb + Boucle
            J = Weekday(DateC, 2)
            If Me("Jour" & J).Value = True Then
            DoCmd.SetWarnings False
            CurrentDb.Execute "INSERT INTO Planning ( IDContrat, Enfant, Parents, NFamille, NumeroContrat, Repas, Garde, Groupe, Place, AffectéA, SaisiPar, DateSaisie, Jour ) SELECT " & Num_Contrat & ", " & Nom_Enfant & ", " & Nom_Parents & ", '" & Num_Famille & "' AS Num_Famille, '" & Nom_Contrat & "' AS Nom_Contrat, '" & Nom_Repas & "' AS Nom_Repas, '" & Nom_Garde & "' AS Nom_Garde, '" & Num_Groupe & "' AS Num_Groupe, '" & Nb_Place & "' AS Nb_Place, " & Nom_Employe & " AS Nom_Employe, " & Nom_Utilisateur & " AS Nom_Utilisateur, #" & Format(DateCréation, "mm-dd-yyyy") & "# AS Date_Saisie, #" & Format(DateC, "mm-dd-yyyy") & "# AS Jour;"
            DoCmd.SetWarnings True
            End If
            Next
     
        CmdAdd.Enabled = False
        Me.Statut = "Dates réservés"
        MsgBox "Les gardes ont été ajoutés sur le planning selon contrat N° " & Me.NumeroContrat, vbInformation, "Planning des gardes"
        Case vbNo:  Me.Undo ' Non : On annule les changements...
                    DoCmd.Close '  ... et on ferme
        Case vbCancel: ' Rien ne se passe : On reste dans le formulaire
    End Select
    End If
    End Sub
    Je souhaiterais ajouter des champs Garde1; Garde2 ... dans la table contrat, et en fonction du jour sélectionné; leurs valeurs sont insérés automatiquement dans le champ : "Garde" de la table planning.

    d'avance merci de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 856
    Points : 14 968
    Points
    14 968
    Par défaut
    Bonjour,
    pourrais-tu créer ton propre post dans le sous-forum SQL ou VBA ?
    Celui ci a été créé le 10 janvier 2013 par sardaucar, il a été marqué Résolu depuis longtemps et ta question n'a plus rien à voir avec le sujet d'origine.
    Merci.

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 424
    Points : 20 002
    Points
    20 002
    Billets dans le blog
    67
    Par défaut
    Bonjour,

    S'il s'agit de mettre à jour le champ Garde de la table Planning en fonction du champ modifié dans la table Contrat (Garde1 ou Garde2 ou Garde3...) qui dépend lui-même du jour sélectionné, alors je verrai bien ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    Nom_Garde=Me("Garde" & J).value
    ...
    Dans cet exemple, le formulaire est basé sur la table contrat, qui contient les champs Garde1, Garde2...

    Cdlt,

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par User Voir le message
    Bonjour,

    S'il s'agit de mettre à jour le champ Garde de la table Planning en fonction du champ modifié dans la table Contrat (Garde1 ou Garde2 ou Garde3...) qui dépend lui-même du jour sélectionné, alors je verrai bien ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    Nom_Garde=Me("Garde" & J).value
    ...
    Dans cet exemple, le formulaire est basé sur la table contrat, qui contient les champs Garde1, Garde2...

    Cdlt,
    Bonsoir,

    merci de votre retour ...

    j'ai déja essayé cette solution, mais j'ai un message d'erreur : Access ne trouve pas le champ "Garde" auquel il est fait référence dans votre expression ..

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 37
    Points
    37

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/10/2016, 07h06
  2. [XL-2007] Remplir plusieurs textbox en même temps avec le contenu d'un contact dans une Bd
    Par Cadet69 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/01/2015, 01h40
  3. Réponses: 0
    Dernier message: 06/05/2014, 04h47
  4. Réponses: 5
    Dernier message: 25/08/2008, 19h31
  5. Réponses: 12
    Dernier message: 12/03/2007, 17h58

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