Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2011, 18h36   #1
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut Dupliquer un sous sousFormulaire

Bonjour à tous

Je sèche pour dupliquer les lignes d'un sous sousFormulaire
En fait je n'ai pas UNE clé Klé à Dupliquer mais LES clefs Klés que je viens de Créer

Voici mes tables

T_Devis
K_NumDevis (Compteur)
DateDevis
Etc...

T_DevisSections
K_DevisSection (Compteur)
K_NumDevis
OrdreTriSection
LibelléSection

T_DevisLignes
K_DevisLignes (Compteur)
K_DevisSection
K_NumDevis
OrdreTriLignes
Descriptif
Qté
Unité
Pu

Mes Liaisons
T_Devis Un K_NumDevis Plusieurs T_DevisSections
T_DevisSections Un K_DevisSection Plusieurs DevisLignes

AddNew Update pour dupliquer UnDevis et récupérer la Nouvelle K_NumDevis

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
'Vérif l'existence d'un Enregistrement à dupliquer.
    If Me.NewRecord Then
        MsgBox "Selectionner le Devis à Dupliquer."
    Else
        'Dupliquer l'enregistrement principal
        With Me.RecordsetClone
            .AddNew 'la méthode AddNew permet de Récupérer la nouvelle K_NumDevis
                !NomSociete = Me.NomSociete
                !NomClt = Me.NomClt
                !Ad1Clt = Me.Ad1Clt
                !Ad2Clt = Me.Ad2Clt
                !CpClt = Me.CpClt
                !VilleClt = Me.VilleClt
                !HTDevis = Me.HTDevis
                'etc ........
            .Update
 
            'Sauve la Klé primaire ,pour l'utiliser en Klé secondaire avec les nouveaux enregistrements.
            .Bookmark = .LastModified
            lngID = !K_NumDevis 'nouvelle K_NumDevis
 
            'Dupliquer les Sections.
            'Attention : Dans le cas d'un Compteur ne pas recopier la Kprimaire: K_DevisSection
              Select Case Me.F12_DevisSectionsSF.Form.RecordsetClone.RecordCount
                Case Is > 0
                strSql = "INSERT INTO [T_DevisSections] (K_NumDevis,OrdreTriSection,LibelléSection,HTSection )" & _
                    "SELECT " & lngID & " ,OrdreTriSection,LibelléSection,HTSection " & _
                    "FROM [T_DevisSections] WHERE K_NumDevis = " & Me.K_NumDevis & ";"
                    DBEngine(0)(0).Execute strSql, dbFailOnError
 
'**************************JUSQUE LA LE CODE MARCHE BIEN******************************************
************** à patir ici Comment recopier LES K_DevisSection ?????????***************************************                                 
                           'Dupliquer SectionsLignes
                           'Vérifier l'existence de Lignes dans T_DevisLignes
                            'If Vérifier l'existance de Lignes dans T_DevisLignes Then
                              strSql = "INSERT INTO [T_DevisLig] (K_NumDevis,K_DevisSection,OrdreTriLignes,Description,Qté,Unité,Pu )" & _
                                "SELECT " &Nouvelles K_DevisSection & " ,K_DevisSection,OrdreTriLignes,Description,Qté,Unité,Pu " & _
                                "FROM [T_DevisLig] WHERE K_NumDevis = " & Me.K_NumDevis & ";"
                                DBEngine(0)(0).Execute strSql, dbFailOnError
 
                            'End If
            Case Is = 0
                MsgBox "Le Devis est Dupliqué, mais il n'y avait pas de Section à Dupliquer", vbOKOnly + vbInformation, ""
 
            End Select
Un grand merci pour votre aide
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h39.


 
 
 
 
Partenaires

Hébergement Web