|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 28 ![]() |
Bonjour à tous,
Dans un formulaire, je voudrais que sur click d'un contrôle, cela duplique l'enregistrement courant et ouvre une msgbox demandant la nouvelle valeur de la clé primaire. Que ce soit pour le code de la duplication ou pour le code de la msgbox, j'ai quelques difficultés. Auriez vous des idées? Merci par avance |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
Peut-être pas simple comme approche, mais pour ma part, sur le click du bouton en question, je lancerais une requete SQL (Select *) pour récupérer l'enregistrement (avec un Where basé sur un élément unique de ta table (par exemple sur la valeur actuelle de la clé primaire de l'enregistrement à dupliquer)), puis j'ouvrirai un formulaire (ressemblant à un MsgBox) pour permettre à l'utilisateur de saisir la nouvelle clé primaire... et je ferai un AddNew en utilisant (en update de l'enregistrement ainsi créé par le AddNew) les toutes rubriques récupérées dans le Select et la saisie de l'utilisateur...
Je suppose que ta clé primaire n'est pas en NuméroAuto ... car sinon faut pas la faire saisir, bien sûr. Access s'en charge lui-même. Michel |
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() beauchat symba Inscription : janvier 2010 Messages : 95 ![]() |
Bonsoir
Voici un code qui marche bien avec ses explications,je n'ai pas trop le temps de tout traduire . La klé primaire n'a pas besoin d'être saisie à la main car j'utilise des compteurs Code :
Le code sauvegarde en premier l'enregistrement en cours AddNew assigne un buffer au nouvel enregistrement puis copie les données de ton formulaire vers ce buffer Update sauvegarde l'Enregistrement En s'assurant que l'Enregistrement dupliqué devient Current (Me.Bookmark = .LastModified),on stock la nouvelle Klé primaire dans une variable de façon à pouvoir l'utiliser pour les enregistrements liés (côté plusieurs) Puis on vérifie l'existence d'enregistrements dans le s/s form et on les duplique avec une requête sql Append La requête sélectionne les Enregistrements enfants dans le s/s form et les ajoute dans la table avec la Nouvelles Klé de liaison Pourquoi utilise t-on AddNew pour dupliquer les Enregistrements du Formulaire Principal et une Requête Sql pour dupliquer ceux du Sous-form ?
Cordialement |
||
|
|
10
|
|
|
#4 | ||||
|
Membre du Club
![]() beauchat symba Inscription : janvier 2010 Messages : 95 ![]() |
Bonjour
Suggestion: pour entrer la Klé à la main, je pense qu'il faut créer une variable et la charger avec une InputBox Code :
Dim lngMaNouvelleKlé As Long ' à placer avec les autres Dim au début (Long si la Klé est un Entier Long ) Code :
Code :
Bonne journée |
||||
|
|
10
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : mai 2011 Messages : 28 ![]() |
Tout d'abord, un grand merci. Réponse très rapide et parfaitement ciblée.
Tout fonctionne à merveille. Pour résumer: Ma clé primaire est Nom_Botanique et le code final est le suivant Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com