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

IHM Discussion :

[A97] Copier/Coller le contenu d'un formulaire ET du sous form & crée plan structuré


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut [A97] Copier/Coller le contenu d'un formulaire ET du sous form & crée plan structuré
    Bonjour à tous,

    Je reviens avec une question qui va surement vous paraitre anodine mais que je n'arrive pas à résoudre.

    Présentation de la base

    J'ai crée une base de donnée pour mon entreprise, ou sont stocké principalement des programmes de cours ( tel cours en tel heures avec tel chapitres pour tel niveau etc ... )

    J'ai un formulaire utilisé pour rentrer de nouveaux programmes, par zone de textes, ou les secrétaires tapent la matiere le plan du cours etc ..., composés d'un formulaire et d'un sous formulaire pour la descriptions du programme ( un plan avec I a) pleins de lignes b) pleins de lignes etc ... )

    J'ai fais un formulaire pour rechercher et imprimer un programme bien particulier ( par niveau & titre & matière ).

    Une fois le programme trouvé dans mon formulaire de recherche, il suffit d'un clic pour ouvrir un état ( pour imprimer ).

    L'ouverture se fait correctement, l'état affichant bien en aperçu avant impression le programme de ma table sélectionner ( dans le formulaire ) grâce à ce code en vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "Impression_prog", acPreview, , "[CodeMatiere] = " & Me.lstResults

    Problème:

    Dans le formulaire crée pour rentrer dans la BDD de nouveaux programmes, j'aimerai mettre en place la possibilité de copier coller un programme, pour ne modifier que quelques détails sur celui ci et l'enregistrer comme un nouveaux ( par exemple 40h à la place de 35h avec 5 jours à la place de 4 ... )

    J'ai donc créer un bouton nouvelle enregistrement qui marche bien, puis un bouton copier et coller avec le code suivant :

    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
     
    Private Sub Commande43_Click()
     
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdCopy
     
    End Sub
    _
     
    Private Sub Commande47_Click()
     
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdPaste
     
    End Sub
    Cette commande copie bien tous ce qui se situe dans mon formulaire mais pas dans mon sous formulaire !

    J'ai essayé de créer le même bouton dans le sous formulaire, mais il ne sélectionne que la première ligne du tableau de mon sous formulaire, pas la totalité.

    J'avoue ne pas trop savoir comment faire, j'ai essayé de jouer avec le gotopage etc .. mais rien n'y fait, je n'ai pas réussi.


    Mon problème autrement dit:

    1. 1- J'ai un formulaire avec un sous formulaire integré pour rentrer des données
    2. 2- Je veux pouvoir copier coller un enregistrement en entier pour pouvoir le modifier après dans un nouvelle enregistrement
    3. 3- Mes boutons copier/coller ne sélectionne que ce qui est dans le formulaire, pas ce qui y a dans le sous formulaire
    4. 4- Meme si je met des boutons copier/coller dans le sous formulaire, il ne copie que la premiere ligne de mon tableau du sous formulaire



    Résultat souhaité:

    J'aimerai donc que mes boutons copier/coller sélectionne les données qui l'y a dans mon formulaire ET mon sous formulaire, pour pouvoir ensuite les copier dans un nouvelle enregistrement.



    => Second problème !

    Dans mon état qui me sert à imprimer le programme sélectionné dans mon formulaire de recherche, je cherche désespérément un moyen de pouvoir faire un plan structuré.

    Par la je veux dire la possibilité de pouvoir faire un I] avec un 1) puis un a., sachant que le 1) dépend tu I] etc etc ^^

    Schématisé sa ressemblerai à sa :

    Programme : I] Découvrir Windows
    1) la souris
    Apprendre à installer et utiliser une souris
    2) le clavier ... ... ... ...

    II]
    Comment faire ? rentrer cela dans un champs d'une table, déja toute en forme ? les retours à la ligne etc .. ne seront t'il pas perdu ?
    Créer un champs pour les I], pour les 1) etc ? Comment ferai je donc pour qu'il m'affiche le I] puis le 1) ? J'ai peur que me je retrouve avec
    I] Découvrir Windows
    II] Découvrir Internet
    1) la souris
    2) le clavier
    3) Internet explorer
    4) Email
    En clair que cela ne soit pas structuré.


    J'ai fouillé sur la FAQ, les tutos, fait une recherche par google sur developpez.com, mais je n'ai pas trouvé ma réponse.

    Cela peut venir du fait que mes critères de recherche était mauvais, si c'est le cas je m'en excuse par avance.

    Merci de votre contribution,

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    En fait tu as deux sources :
    une pour le formulaire et une pour le sous formulaire.
    Il faudrait donc faire dans la même procédure que le copier coller du formulaire principal, une requête ajout des données du sous formulaire dans la table source de celui-ci.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut


    J'avoue comprendre ce que tu veux dire mais ne pas savoir comment l'appliquer ...

    Par une requête sql ? que je placerai dans le vb en créant une variable ReqSQL que je lancerai ? et je sélectionnerai quoi ?

    Merci d'avance pour les réponses

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Oui, c'est cela

    Tu crées une variable reqSql qui reprends l'instruction SQL source du sous formulaire en ajoutant dans la clause WHERE la valeur du champ père

    puis tu l'exécutes

    Ceci reste un exemple à adapter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    reqSql= "INSERT INTO T_Table ( Champ1, Champ2, Champ3, ... ) SELECT T_TableSource.Champ1, T_TableSource.Champ1, T_TableSource.Champ1, ...  FROM T_TableSource WHERE T_TableSource.Champ1 = critere"
     
    docmd.RunSql reqSql
    A toi d'adapter

Discussions similaires

  1. Comment copier coller un contenu sur internet
    Par coklin dans le forum VB.NET
    Réponses: 0
    Dernier message: 25/09/2009, 09h40
  2. Copier/coller le contenu d'un zone de texte
    Par ysahel dans le forum Débuter
    Réponses: 2
    Dernier message: 20/05/2009, 18h14
  3. Réponses: 13
    Dernier message: 21/01/2009, 11h18
  4. Réponses: 1
    Dernier message: 29/12/2008, 10h12

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