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

VBA Access Discussion :

Pb pour dupliquer un formulaire avec son sous formulaire


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    responsable QHSE
    Inscrit en
    Décembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : responsable QHSE
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Pb pour dupliquer un formulaire avec son sous formulaire
    Bonjour,

    Je suis débutante sur access et je me débrouille grace aux forums. Le problème c'est que je comprends pas forcément ce que j'écris mais en général j'arrive toujours à trouver la logique du code!!!

    Pour lancer mon access il me manque plus qu'à pouvoir dupliquer un formulaire avec son sous-formulaire, mais mon code ne marche pas.

    Pourriez-vous regarder et me dire quelles sont mes erreurs? J'avoue que je suis perdue là.

    Par rapport à ce qui aux codes que j'ai pris pour modèle, j'ai juste fais une modif car j'avais une erreur 94 pour lng=![clé primaire] (et je suis même pas sûre que ce soit juste !!!)



    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
    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
    46
    Private Sub duplicat_Click()
     
    Dim rs As DAO.Recordset
    Dim lng As Long
    Dim str As String
     
    'On copie l'enregistrement "Formulaire"
    Set rs = CurrentDb.OpenRecordset("Formulaire")
    With rs
    .AddNew
    'On copie les champ voulu sauf celui de la clé primaire :
    !Mois = Me!Mois
    !Année = Me!Année
    ![Agent de cotation] = Me![Agent de cotation]
    !Société = Me!Société
    !Demandeur = Me!Demandeur
    !tel = Me!tel
    !mail = Me!mail
    ![Dpt enl] = Me![Dpt enl]
    ![Lieu enlèvement] = Me![Lieu enlèvement]
    ![Dpt liv] = Me![Dpt liv]
    ![Lieu de livraison] = Me![Lieu de livraison]
    !MAD = Me!MAD
    ![Délai souhaité] = Me![Délai souhaité]
    ![Type Transport] = Me![Type Transport]
    ![Passage au mine] = Me![Passage au mine]
    !CT = Me!CT
    ![Prix unitaire] = Me![Prix unitaire]
    !Calculs = Me!Calculs
    !Délai = Me!Délai
    ![Durée validité offre] = Me![Durée validité offre]
    ![Revue de contrat] = Me![Revue de contrat]
    !Commentaires = Me!Commentaires
    .Update
    .Bookmark = .LastModified
    If Not IsNull(![N Devis]) Then
    lng = ![N Devis]
    End If
     
    End With
     
    'On copie les enregistrements "VI transporté"
    str = "INSERT INTO VI transporté ([N Devis], [Type VI], Nombre, [Type cabine carossage], [Déflec toit], [Stop Douane], [Num VI], L, lg, Ht, Pds, Empattement, [Etat VI])SELECT " & lng & ", [Type VI], Nombre, [Type cabine carossage], [Déflec toit], [Stop Douane], [Num VI], L, lg, Ht, Pds, Empattement, [Etat VI] FROM VI transporté"
    DoCmd.RunSQL str
     
    End Sub
    Merci d'avances...

  2. #2
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2007
    Messages : 169
    Points : 241
    Points
    241
    Par défaut
    Salut, je ne sais pas si ça vient de là mais il y a des petites erreurs dans la ligne ou tu fais la copie!

    1. Vu que ne nom de la table contient un espace, du dois mettre le nom ente []
    2. Il me semble qu'il manque un espace avant le select


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    str = "INSERT INTO [VI transporté] ([N Devis], [Type VI], Nombre, [Type cabine carossage], [Déflec toit], [Stop Douane], [Num VI], L, lg, Ht, Pds, Empattement, [Etat VI]) " & _
    "SELECT " & lng & ", [Type VI], Nombre, [Type cabine carossage], [Déflec toit], [Stop Douane], [Num VI], L, lg, Ht, Pds, Empattement, [Etat VI] FROM [VI transporté]"
    Aussi, je ne suis pas sûr que cela soit bien ça que tu veuille faire, car ici tu duplique tous les enregistrements de la table "VI transporté"

    => Pour t'aider, il nous faut en savoir plus. Qu'est ce que tu veux faire exactement? Dupliquer un enregistrement? Dupliquer tous les enregistrements?
    Lionel Garnier

    N'oubliez pas de voter pour les posts en cliquant sur le
    Cliquez sur le bouton lorsque vous êtes satisfaits de la réponse!
    mon site pro

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    technicien
    Inscrit en
    Janvier 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Janvier 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous,
    je reviens sur ce sujet.
    je souhaiterais pouvoir dupliquer mon formulaire ainsi que le sous formulaire attenant.
    Avec le code que j'ai trouvé" sur internet et adapté à mon cas, ca fonctionne, mais ca me duplique tous les engeritrements du sous formulaire. comment eviter cela et que cela me duplique que les données afférentes au formulaire actif?
    voilà le code:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    '   Enregistrement des données rentrées :
    DoCmd.RunCommand acCmdSaveRecord
    Dim rs As dao.Recordset
    Dim lng As Long
    Dim str As String
     
    'On copie l'enregistrement "Element"
    Set rs = CurrentDb.OpenRecordset("demande")
    With rs
      .AddNew
        'On copie les champs voulus sauf celui de la clé primaire :
        ![date demande] = Me![date demande]
        ![commercial] = Me![commercial]
        ![client] = Me![client]
        ![N°Affaire] = Me![N°Affaire]
        ![Référence affaire] = Me![Référence affaire]
        ![date depart] = Me![date depart]
        ![heure depart] = Me![heure depart]
        ![dateretour] = Me![dateretour]
        ![Observation] = Me![Observation]
        ![Grosse Opération] = Me![Grosse Opération]
        ![preparateur] = Me![preparateur]
        ![mis de cote par] = Me![mis de cote par]
        ![dateprepa] = Me![dateprepa]
      .Update
      .Bookmark = .LastModified
      lng = ![N°demande]
    End With
    MsgBox "copie du formulaire principal faite. Merci de modifier les dates et N° Résa."
    'On copie les enregistrements "Détails"
    str = "INSERT INTO sousdemande (N°demande, Article, Quantité, Remarque)" & _
    "SELECT " & lng & " ,Article, Quantité, Remarque " & "FROM sousdemande;"
    DoCmd.RunSQL str
    MsgBox "copie du sous-formulaire principal faite"
    End Sub
    Merci d'avance pour vos réponses...

Discussions similaires

  1. probleme avec formulaire et son sous formulair
    Par Daniela dans le forum IHM
    Réponses: 6
    Dernier message: 27/06/2009, 20h51
  2. [Forms]Formulaire et son sous formulaire avec FORMS 9 i
    Par samba2005kanoute dans le forum Forms
    Réponses: 2
    Dernier message: 07/03/2007, 18h11
  3. Réponses: 10
    Dernier message: 03/10/2006, 15h32
  4. Réponses: 5
    Dernier message: 25/04/2006, 16h04
  5. Réponses: 8
    Dernier message: 09/03/2006, 12h49

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