Copier/dupliquer un enregistrement
Bonjour,
Je souhaite copier/dupliquer un en registre de mon fichier.L'affichage de ma table est alimenté par une requête.
je me suis appui sur cette discussion dans le forum.
[URL="https://www.developpez.net/forums/d1768921/environnements-developpement/windev/copier-coller-ligne-champs-table/[/URL]
Donc :
variable globale, gsXLigne est une chaine
Sélection de la ligne à copier :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| // Sélection de l'enregistrement à dupliquer
SI TABLE_REQ_SelectionProduit <> -1 ALORS
gsXLigne = TABLE_REQ_SelectionProduit[TABLE_REQ_SelectionProduit]
FIN
//1 : &Dupliquer
//2 : &Ne pas dupliquer
SELON Dialogue("Voulez-vous dupliquer cet enregistrement ?")
// &Dupliquer
CAS 1
// Dupliquer l'enregistrement sélectionné
DupliquerEnregistrement()
// &Ne pas dupliquer
CAS 2
RETOUR
FIN |
Copie et enregistrement de la ligne :
Code:
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
| PROCÉDURE DupliquerEnregistrement()
// On regarde la ligne sélectionné
SI gsXLigne <> "" ALORS
HLitDernier(FProduits, Référence)
// On récupère la partie numérique les 6 derniers caractères
nReference est un entier = Droite(FProduits.Référence,6)
// Puis tu concatène selon le format désiré en complétant par des 0 devant ton n° incrémenté
FProduits.Référence = "ATR-" + NumériqueVersChaîne(nReference + 1,"06d")
// Extraire la valeur suivante de la chaîne
COL_Référence = FProduits.Référence
Trace(COL_Référence)
// pour coller avec insertion d'une nouvelle ligne
HAjoute(FProduits)
Trace(gsXLigne)
SINON
Info("Sélectionnez d'abord la ligne à dupliquer")
FIN
// Réafficher la table
TableAffiche(FI_ListeProduits.TABLE_REQ_SelectionProduit,taCourantEnreg)
// Se positionner sur le dernier enregistrement
TableSelectPlus(TABLE_REQ_SelectionProduit, TableOccurrence(TABLE_REQ_SelectionProduit)) |
Tout fonctionne jusqu'à l'enregistrement : C'est le dernier enregistrement de mon fichier qui s'effectue avec la bonne référence modifiée mais pas la ligne sélectionnée au départ.
Merci de votre aide .