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 :

problème de compréhension recordset pour dupliquer


Sujet :

Access

  1. #21
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    Il met également dans le message qu'un enregistrement n'a pas été enregistré à la suite de violation de clé ...

  2. #22
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Point.n°pointage, Point.N__CONTRAT, Point.CENTRE_UTI, Point.CYCLE_TRAV, Point.N__SEMAINE, Point.DU, Point.AU, Point.LUNDI, Point.MARDI, Point.MERCREDI, Point.JEUDI, Point.VENDREDI, Point.SAMEDI, Point.DIMANCHE, Point.NUIT
    FROM Point
    WHERE (((Point.n°pointage)=[Forms]![frmSaisieContrat2]![frmPointage2].[Form]![n°Pointage]) AND ((Point.N__CONTRAT)=[Forms]![frmSaisieContrat2]![N__CONTRAT]));

    Il te manque une référence.
    J'ai juste fait une requête sélection cette fois
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #23
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    Je dois être débile mais pourquoi tu fais juste une requête sélection ? Est-ce que j'enlève moi aussi le INSERT TO de ma requête ????

  4. #24
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    C'est moi qui ai fait un copier trop vite de ma requête.

    Attends, je vais te donner la bonne.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #25
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO Point ( N__CONTRAT, CENTRE_UTI, CYCLE_TRAV, N__SEMAINE, DU, AU, LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE, NUIT )
    SELECT Point.N__CONTRAT, Point.CENTRE_UTI, Point.CYCLE_TRAV, Point.N__SEMAINE, Point.DU, Point.AU, Point.LUNDI, Point.MARDI, Point.MERCREDI, Point.JEUDI, Point.VENDREDI, Point.SAMEDI, Point.DIMANCHE, Point.NUIT
    FROM Point
    WHERE (((Point.n°pointage)=[Forms]![frmSaisieContrat2]![frmPointage2].[Form]![n°Pointage]) AND ((Point.N__CONTRAT)=[Forms]![frmSaisieContrat2]![N__CONTRAT]));
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #26
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    Quand je lance, il me demande une valeur de paramètre pour ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Point.n°pointage)=frmSaisieContrat2!frmPointage2.Form!n°Pointage)
    Par ailleurs, est-ce que ce qui est ci-dessous te parait bon à mettre sur un bouton "dupliquer" dans le formulaire principal ? C'est comme ça que je fais pour l'instant. Il a pas l'air de comprendre ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Commande106_Click()
    DoCmd.OpenQuery "qryAddContrat(oli)2"
    DoCmd.OpenQuery "qryAddContrat(oli)3" 'ça coince dès que je rajoute cette ligne
    DoCmd.Requery
     
    DoCmd.GoToRecord , , acLast
    End Sub

  7. #27
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    Pour le problème de syntaxe, il manquait juste forms! devant frmSaisieContrat2 ...

    Mais pour le reste, il me mets toujours la même erreur de clé lorsque je pose les deux requêtes l'une en dessous de l'autre.
    Je suppose que l code que j'ai écrit dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Commande106_Click()
    Duplique l'enregistrement en cours du formulaire principal
    DoCmd.OpenQuery "qryAddContrat(oli)2"
     
    'arrivé là, on a un nouveau contrat dupliqué mais les sous-formulaires sont à 0
    'Donc la phrase en dessous ne sert à rien puisqu'elle duplique du vide
    'Il faudrait que les deux duplications soient simultanées. Je sais pas comment faire
    DoCmd.OpenQuery "qryAddContrat(oli)3"
    DoCmd.Requery
     
    DoCmd.GoToRecord , , acLast
    End Sub

  8. #28
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    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
    Private Sub Commande104_Click()
    DoCmd.SetWarnings False
     
     DoCmd.RunSQL "INSERT INTO Contrat ( N°Interim, DebutMission, FinMission, HEURE_DTM9, MOTIF, T_CHE, QUALIFICAT, RESPONSABL, APPEL, N__CONTRA2, A_FAIRE )" & _
    "SELECT Contrat.N°Interim, Contrat.DebutMission, Contrat.FinMission, Contrat.HEURE_DTM9, Contrat.MOTIF, Contrat.T_CHE, Contrat.QUALIFICAT, Contrat.RESPONSABL," & _
    "Contrat.APPEL, Contrat.N__CONTRA2, Contrat.A_FAIRE " & _
    "FROM Contrat " & _
    "WHERE (((Contrat.N__CONTRAT)=[Forms]![frmSaisieContrat2]![N__CONTRAT]));"
     
    DoCmd.RunSQL "INSERT INTO Point ( N__CONTRAT, CENTRE_UTI, CYCLE_TRAV, N__SEMAINE, DU, AU, LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE, NUIT )" & _
    "SELECT Point.N__CONTRAT, Point.CENTRE_UTI, Point.CYCLE_TRAV, Point.N__SEMAINE," & _
    "Point.DU, Point.AU, Point.LUNDI, Point.MARDI, Point.MERCREDI, Point.JEUDI," & _
    "Point.VENDREDI , Point.SAMEDI, Point.DIMANCHE, Point.NUIT " & _
    "FROM Point " & _
    " WHERE (((Point.n°pointage)=Forms!frmSaisieContrat2!frmPointage2.Form!n°Pointage) And ((Point.N__CONTRAT)=Forms!frmSaisieContrat2!N__CONTRAT));"
     
    DoCmd.SetWarnings True
     
    End Sub
    Je viens d'essayer et tout baigne.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  9. #29
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    J'ai testé ceci,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Commande106_Click()
    'duplique l'enregistrement du formulaire principal
    DoCmd.OpenQuery "qryAddContrat(oli)2"
     
    'Mets à jour
    DoCmd.Requery
     
    'dupliquer les sous-formulaires
    DoCmd.OpenQuery "qryAddContrat(oli)3"
    DoCmd.Requery
    DoCmd.GoToRecord , , acLast
    End Sub
    Le problème est qu'il me duplique les sous formulaires dans le premier enrefistrement et non pas dans celui que je viens de dupliquer.

    Ex : Contrat 1 ---> je duplique d'où création d'un Contrat 2
    Le contrat 1 possédait 1 pointage, il en possède désormais 2 et le Contrat 2 n'en a pas.

    Donc le pointage 2 ne se met pas sur le bon enregistrement principal.

  10. #30
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    excuse pour le dernier message, je l'avais pas vu. Je teste.

  11. #31
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    Je viens de tester ta solution. Ca marche nickel pour les sous-formulaires mais maintenant c'est le formulaire principal qui ne se duplique pas. Mais t'ai pas loin.

  12. #32
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Je ne sais pas ce qui cloche, mais chez moi tout est copié.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  13. #33
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    je viens de télécharger le tien et il y a le même problème que chez moi.

    En fait, dans le formulaire sommaire, tu choisis le gros bouton gris. Ensuite en haut à gauche, tu choisis dans la liste des noms, "PECA" par exemple. Tu appuies sur "Gérer les contrats de cet intérimaire" (en bleu).

    Il a un contrat n° 107 avec un pointage n° 175.

    Si tu appuies sur le bouton dupliquer du formulaire principal en haut à droite, on devrait avoir un nouveau contrat avec certains champs dupliqués et un nouveau pointage avec certains champs du pointage n°75 dupliqués.

    Et là je n'y arrive pas car le contrat ne s'incrémente pas, il n'a toujours qu'un contrat même quand on duplique.

    Est-ce que toi c'est pareil ?

  14. #34
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Dans la table, j'ai un Peca avec 158 en N° contrat
    Mais il a dupliqué avec l'ancien numéro de contrat.
    J'ai compris ce que tu voulais, c'est dupliquer le pointage avec le nouveau numéro de contrat.
    Correct ?
    Et fatalement un nouveau numéro de pointage aussi!
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  15. #35
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    C'est exactement ça. Ca fait deux mois que j'essaye de l'expliquer sur le forum mais c la 1ère fois qu'on me demande de mettre le fichier en ligne. Je savais pas qu'on pouvait. C'est quand même plus simple pour expliquer ...

  16. #36
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Pour récupérer la nouvelle valeur, alors il faudra passer par un recordset.
    Ou un Dmax !

    Je vais y réfléchir.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  17. #37
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    C'était en fait le contenu de ma toute première question. Je ne savais pas comment agencer mon recordset : avec un ou deux recordset ? et est-ce que ma syntaxe était bonne ?

    Merci encore pour ton aide.

  18. #38
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Désolé, mais aujourd'hui ce n'était pas du bon temps pour les cerveauxlents

    Cette fois , c'est conforme à ta demande.

    Pour résumer, deux requêtes mise à jour, je récupère la valeur maxi du contrat, je passe cette valeur à la nouvelle requête.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  19. #39
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 75
    Points : 8
    Points
    8
    Par défaut
    J'ai fait plein de tests. Ca marche vraiment super bien. Merci pour tout, sincèrement.

    A bientôt et bonne continuation.

    Fred

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. problème pour dupliquer un clip enfant vers un autre clip
    Par markool dans le forum ActionScript 1 & ActionScript 2
    Réponses: 5
    Dernier message: 09/12/2009, 11h20
  2. Problème de compréhension pour <<interface>>
    Par tnarol dans le forum UML
    Réponses: 7
    Dernier message: 07/02/2007, 21h07
  3. Recordset pour dupliquer un sous-formulaire
    Par fredpeca dans le forum Access
    Réponses: 3
    Dernier message: 05/02/2007, 17h07
  4. Réponses: 15
    Dernier message: 23/06/2006, 14h57
  5. [Access 2003]Problème pour dupliquer?
    Par steeves5 dans le forum Access
    Réponses: 6
    Dernier message: 24/05/2006, 13h19

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