Il met également dans le message qu'un enregistrement n'a pas été enregistré à la suite de violation de clé ...
Il met également dans le message qu'un enregistrement n'a pas été enregistré à la suite de violation de clé ...
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 !
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 ????
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 !
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 !
Quand je lance, il me demande une valeur de paramètre pour ceci :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 (Point.n°pointage)=frmSaisieContrat2!frmPointage2.Form!n°Pointage)
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
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
Je viens d'essayer et tout baigne.
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
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 !
J'ai testé ceci,
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.
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
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.
excuse pour le dernier message, je l'avais pas vu. Je teste.
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.
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 !
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 ?
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 !
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 ...
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 !
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.
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 !
J'ai fait plein de tests. Ca marche vraiment super bien. Merci pour tout, sincèrement.
A bientôt et bonne continuation.
Fred
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager