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

Contribuez Discussion :

Tutoriel pour Drag and Drop entre deux formulaires Access


Sujet :

Contribuez

  1. #1
    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 Tutoriel pour Drag and Drop entre deux formulaires Access
    Salut à tous!

    Je viens de réaliser un petit tutoriel qui explique comment on peut réaliser un joli Drag and Drop entre deux formulaires Access!
    Je l'utilise dans mes applications et ca fait tout de suite son effet.

    Vous pourrez le trouver sur mon site:
    http://www.gylsolutions.fr/fr/blog/7...cess-drag-drop

    C'est le premier article que je fais mais je compte bien vous livrer d'autres secrets dans les mois à venir

    Et surtout, n'hésitez pas à me faire part de vos commentaires!

    En espérant vous avoir aidé...
    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

  2. #2
    Membre émérite Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 564
    Points : 2 523
    Points
    2 523
    Par défaut
    Bonjour yonnel,

    joli tuto... je cherchais un truc dans ce genre... merci de l'avoir fait.

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2024 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  3. #3
    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
    Avec plaisir! J'ai beaucoup utilisé les tutos de Développez.net, donc à mon tour de partager mes connaissances

    Là, c'est la base du drag and drop, mais avec un peu d'imagination ça peut se décliner de plein de manières et beaucoup de fonctionnalités peuvent être ajoutées...
    Par exemple, ordonner les listes, faire une "preview" lors du survol, utilisation pour un système de gestion de fichier/de personnel, utilisation dans un planning...

    J'ai encore pas mal d'astuce du genre à faire partager dans les semaines/mois à venir!
    Je viendrais vous faire signe quand de nouveaux tutos seront en ligne
    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

  4. #4
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Points : 360
    Points
    360
    Par défaut
    Bonjour,

    Très bon, très beau, un tutoriel qui me servira.

    Respects !


    Cordialement
    Pierre.

    Dans un monde passablement absurde, il y a quelque chose qui ne l'est pas, c'est ce qu'on peut faire pour les autres.

    André Malraux


    Ce message vous a aidé ? alors

    Votre souci est résolu ? alors

  5. #5
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 47
    Points
    47
    Par défaut Drag N Drop - Association entre deux formulaires
    Bonjour,

    J'ai adapté la solution ci-dessus afin de pouvoir associer l'information de deux tables différentes (dans 2 sous-formulaires différents) via un drag-n-drop.

    Dans cet exemple, la position du "drop" est très importante sur le sous-formulaire de destination. Donc, il faut identifier, via la position du curseur, la ligne de la table survolée.

    J'ai aussi dû modifier la classe de Stephen Lebans (http://www.lebans.com/conformscurcontrol.htm) qui permet d'identifier la ligne d'un formulaire continu survolée par le curseur. Originalement, la classe était basée sur un textbox, je l'ai adapté pour fonctionner sur un Label. Donc, quand on survol le Label, on peut identifier la ligne.

    Particularités :
    1. Dans les 2 sous-formulaires, tous les contrôles doivent être locked=true et enabled=false.
    2. Ensuite, on place un "Label" vide qui couvre toute la surface où l'on veut pouvoir cliquer (Généralement, tous les autres contrôles). De plus, on doit s'assurer qu'il soit sur le dessus de tout (Bring to front).
    3. Dans le formulaire principale, on initialise différentes propriétés des deux sous-formulaires
    4. Dans chaque sous-formulaire, la ligne eLabel.datafieldToDisplay doit représenter la clé primaire respective de chaque table source du formulaire. S'il y a plusieurs champs, entrer le nom de chacun des champs séparer par des point-virgules.
    5. Dans chaque formulaire, dans la fonction associate(Byval infosToAssociate as string), on doit implémenter les actions à prendre pour associer les deux informations.


    DRAG_N_DROP.zip

    Par contre, je ne sais pas comment l'application peut réagir sur une requête complexe. Je le test et je vous reviens!!!

    J'espère que cette source va servir a plusieurs d'entre-vous!
    Bonne journée.

    P.S.: J'espère avoir cité toutes mes sources. Et si vous voyez une façon de simplifier cette application, faites-moi signes. merci.

  6. #6
    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 it-worker!

    J'utilise aussi une variation de ce code ou des lignes sont attachées à d'autres. Je crois que c'est plus ou moins ce que tu veux faire.

    Dans ce tutoriel j'ai livré les bases mais la suite viendra peut être dans un prochain tuto

    Mais en attendant, voilà quelques pistes:
    • Pour repérer quelle zone est survolée, je calcule le numéro de l'enregistrement du sous formulaire en me basant sur la position de la souris. Tu auras donc besoin d'utiliser la hauteur des sections en tête, détail et pied.
    • Pour gérer les cas où il y a une barre de défilement, j'utilise la fonction GetScrollBarPos de Lebans (http://www.lebans.com/setgetsb.htm) + une petite astuce pour ne pas pouvoir descendre en dessous de la dernière ligne (je te livrerais l'astuce si besoin!)
    • Pour faciliter la navigation, je fais une mise en forme conditionnelle de l'enregistrement survolé. Pour ça, à chaque fois que l'outil détecte qu'un enregistrement est survolé, je met son flag à 1 et celui des autres à 0 (et la MEF est liée à ce champ).


    Donc il y a un peu de boulot mais ça marche!
    N'hésite pas à me recontacter si tu bloque quelque part
    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

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut drag and drop sur des canvas
    Bonjour,
    je suis entrain de développer une application internet riche permettant aux utilisateurs de construire des diagrammes de classes comme avec starUML et j'ai besoin d'aide svp. Je voulais savoir comme faire un drag and drop entre deux panel l'un contient les composants à dragger(rectangle, cercle, liens simples, liens de compositions....)et l'autre contient les composants du diagramme de classe (qu'ils sont des instances des composants dans le premier panel).
    Cordialement.

  8. #8
    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
    Bonjour Saifesprit,

    Si je comprends bien tu veux placer tes différents composants dans un formulaire (en mode simple). Et ces composants sont contenus dans une sorte de Toolbox (qui est en fait un autre formulaire).

    C'est tout à fait envisageable mais ça demande de revoir le code en profondeur! Ca me donne d'ailleurs une bonne idée de tutoriel pour la suite

    Tu peux cependant t'en inspirer. Mais je pense que tu devras sûrement recréer le code pour chaque composant. Voilà comment je pense que tu devrais procéder:
    • Tu places tes différents composants dans le formulaire 1
    • Tu créés autant de sous formulaires "drag" que de composants
    • Tu ajoutes un évènement mouse_down par contrôle comme dans le tutoriel
    • Lorsque l'outil détecte que le bouton est relaché:
    • Tu contrôles si on est sur le formulaire 2
    • Si oui, tu crée une nouvelle forme correspondante à la sélèction dans le formulaire 2 à la dernière position de la souris


    Voilà, et dis moi si tu bloques quelque part
    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

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Mise en forme en temps réel
    Bonjour yonnel,

    Je travaille actuellement sur le même type d'application : drag and drop de ligne à ligne entre 2 formulaires. J'utilise la méthode de compter le nombre de ligne pour repérer l'enregistrement du second formulaire.
    Cependant, j'aurais voulu que pour améliorer l'ergonomie, qu'un format particulier apparaisse sur l'enregistrement survolé, mais je n'y arrive pas.
    En effet, avec les mises en forme conditionnelle, celles-ci s'applique que lorsque je déclic la souris, mais pas en "temps réel".
    Existe-t-il une méthode pour y parvenir?

    En vous remerciant par avance.

    ----
    Meilleurs voeux

  10. #10
    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 pabisiakm,

    Il est tout à fait possible de mettre en évidence l'enregistrement survolé (je l'ai fait dans quelles unes de mes applications!).

    Dans la table liée à ton formulaire, rajoute un champs Oui/Non (appelle le "IsOver" par exemple).
    Dans la boucle liée à l’évènement mouse_down, il faut que tu mettes à jour le champs IsOver à Vrai pour l'enregistrement survolé.
    Pour ce faire, il faut que tu calcule lequel est survolé puis que tu fasse une mise à jour avec un petit Docmd.RunSQL.
    our adapter la mise en forme, tu n'as alors qu'a faire une mise en forme conditionnelle liée à ce champs "IsOver"...


    Voilà le principe de base!
    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

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    C'est bon, cela fonctionne.
    En fait, après la modification je ne faisais pas de "Recalc" du form pour actualiser..

    Merci en tout cas!

  12. #12
    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,

    J'ai supprimé le contenu de mon site, donc l'article en question n'existe plus!
    Mais si vous voulez, je vous met les sources ci joint!

    Je vais tenter de voir si je retrouve le tuto complet...
    Fichiers attachés Fichiers attachés
    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

Discussions similaires

  1. [VBA-E]drag and drop entre deux listbox
    Par Yolak dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/06/2012, 15h37
  2. Drag and drop entre deux Liste BOX
    Par simoinfonet dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/04/2008, 18h39
  3. Drag and drop entre deux ListBox
    Par simoinfonet dans le forum Langage
    Réponses: 0
    Dernier message: 18/04/2008, 19h53
  4. Drag and Drop entre deux list view
    Par mkaffel dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/10/2007, 22h52
  5. [FLASH MX2004] Drag and drop entre deux List
    Par aldo-tlse dans le forum Flash
    Réponses: 15
    Dernier message: 24/09/2005, 02h10

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