Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Défis

Défis Ce forum est celui des défis et challenges Office. Prêts à relever le gant ? C'est parti !

Réponse
 
Outils de la discussion
Vieux 23/04/2007, 23h02   #1 (permalink)
Responsable MSOffice

 
Avatar de Maxence HUBICHE
 
Date d'inscription: juin 2002
Localisation: Argenteuil (95)
Messages: 3 458
Par défaut Arkham - 30/04/2007 - Defi N°1

Bonjour !

Vous êtes prêts ?
C'est J-6 maintenant, avant la publication du premier DEFI Access
Le défieur est Arkham46, ce qui ne laisse rien présager de bon !

A vos marques ....
Etape 1 : lisez attentivement les règles (http://www.developpez.net/forums/d32...-defis-office/)
__________________
MVP Office Systems - Access
Je ne réponds pas aux questions techniques par MP

surtout ne cliquez pas >>là<< je vous aurai prévenu !
Profil LinkedIn <=> Viadeo
Pour une formation de qualité : 1formaxion

Dernière modification par Maxence HUBICHE ; 24/04/2007 à 10h24
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/05/2007, 08h21   #2 (permalink)
Responsable MSOffice

 
Avatar de Maxence HUBICHE
 
Date d'inscription: juin 2002
Localisation: Argenteuil (95)
Messages: 3 458
Par défaut

Allez... C'est parti !
Le règlement :
http://access.developpez.com/challenge/
Le défi :
http://access.developpez.com/challenge/001

Qui saura le relever ?
__________________
MVP Office Systems - Access
Je ne réponds pas aux questions techniques par MP

surtout ne cliquez pas >>là<< je vous aurai prévenu !
Profil LinkedIn <=> Viadeo
Pour une formation de qualité : 1formaxion
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/05/2007, 19h36   #3 (permalink)
Membre chevronné
 
Date d'inscription: février 2006
Localisation: Nord
Âge: 33
Messages: 621
Par défaut

Citation:
C'est J-6 maintenant, avant la publication du premier DEFI Access
L'idée ne serait t'elle pas inspirée de nos défi Delphi à nous?

Bon courage à tous les participants
Fabrice ROUXEL 1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/05/2007, 23h37   #4 (permalink)
Responsable MSOffice

 
Avatar de Maxence HUBICHE
 
Date d'inscription: juin 2002
Localisation: Argenteuil (95)
Messages: 3 458
Par défaut

C'est inspiré de je ne sais qui... mais cela se trame sur TOUS les forums de developpez.com !
Il semblerait qu'on prépare un gros truc pour OFFICE au complet aussi !
Mais... chhhttt !
__________________
MVP Office Systems - Access
Je ne réponds pas aux questions techniques par MP

surtout ne cliquez pas >>là<< je vous aurai prévenu !
Profil LinkedIn <=> Viadeo
Pour une formation de qualité : 1formaxion
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/05/2007, 01h23   #5 (permalink)
Membre Expert
 
Date d'inscription: juin 2003
Localisation: Sénégal
Messages: 1 160
Par défaut

Bonsoir,

J'ai une solution déjà fonctionnelle pas pas très élégante.

1. Pour la contruction des contrôles, je stockes les informations dans une table alors qu'une liste sous forme de matrice devrait suffir.

2. J'arrives pas à identifier le formulaire de destination des listes. Pour l'instant ca marche si le formulaire en mode création porte un nom fixe.

3. Après la création des contrôles et des codes qui vont avec, la fenetre visuel basic s'ouvre pour afficher les codes

4. (pas méchant) le contrôle de cohérence entre le type des champs qui forment les critères.

Voila les trois problèmes que je dois résoudre et le tour est joué.

PS : Ma solution porte sur un seul formulaire indépendant qui permet de collecter les informations sur les listes à créer.
__________________
Amicalement
DMboup est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 09h56   #6 (permalink)
Rédacteur/Modérateur
 
Avatar de Arkham46
 
Date d'inscription: septembre 2003
Messages: 2 535
Par défaut



Citation:
Envoyé par DMboup
1. Pour la contruction des contrôles, je stockes les informations dans une table alors qu'une liste sous forme de matrice devrait suffir.
Effectivement, moi-même je privilégie les collections et tableaux si possible.
La mémoire est suffisante pour stocker des données temporaires.

Citation:
Envoyé par DMboup
2. J'arrives pas à identifier le formulaire de destination des listes. Pour l'instant ca marche si le formulaire en mode création porte un nom fixe.
A priori le formulaire de travail est le formulaire actif lors du déclenchement de l'assistant, non?

Citation:
Envoyé par DMboup
3. Après la création des contrôles et des codes qui vont avec, la fenetre visuel basic s'ouvre pour afficher les codes
Même comportement pour moi.
L'insertion de ligne de code provoque l'ouverture de la fenêtre VBE.
Etant donné que ce n'est pas le cas pour les assistants standards, il doit y avoir moyen d'y remédier.
Mais est-ce vraiment un problème??

Citation:
Envoyé par DMboup
4. (pas méchant) le contrôle de cohérence entre le type des champs qui forment les critères.
Pa méchant c'est vrai. C'est un bonus intéressant malgré tout.

Citation:
Envoyé par DMboup
PS : Ma solution porte sur un seul formulaire indépendant qui permet de collecter les informations sur les listes à créer.
La seule contrainte est de faire un complément.
Pour le reste c'est comme tu veux!

Merci de ta participation.
Et bonne continuation!
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 12h24   #7 (permalink)
Membre Expert
 
Date d'inscription: juin 2003
Localisation: Sénégal
Messages: 1 160
Par défaut

Citation:
Envoyé par Arkham46
A priori le formulaire de travail est le formulaire actif lors du déclenchement de l'assistant, non?
Bien sur. Mais l'assistant étant aussi basé sur un formulaire, le formulaire actif n'est plus celui ouvert en mode création (qui doit recevoir les contrôles à créer).

Citation:
Envoyé par Arkham46
L'insertion de ligne de code provoque l'ouverture de la fenêtre VBE.
Etant donné que ce n'est pas le cas pour les assistants standards, il doit y avoir moyen d'y remédier.
Mais est-ce vraiment un problème??
Peut être pas un problème, mais ce n'est pas très élégant pour moi.
__________________
Amicalement
DMboup est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 12h28   #8 (permalink)
Responsable MSOffice

 
Avatar de Maxence HUBICHE
 
Date d'inscription: juin 2002
Localisation: Argenteuil (95)
Messages: 3 458
Par défaut

Peut-être qu'en jouant avec la bibliothèque

Microsoft Visual Basic for Applications Extensibility xx.xx

Tu pourrais trouver une solution "élégante"
__________________
MVP Office Systems - Access
Je ne réponds pas aux questions techniques par MP

surtout ne cliquez pas >>là<< je vous aurai prévenu !
Profil LinkedIn <=> Viadeo
Pour une formation de qualité : 1formaxion
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 13h02   #9 (permalink)
Membre Expert
 
Date d'inscription: juin 2003
Localisation: Sénégal
Messages: 1 160
Par défaut

Citation:
Envoyé par Maxence HUBICHE
Peut-être qu'en jouant avec la bibliothèque
Microsoft Visual Basic for Applications Extensibility xx.xx
Tu pourrais trouver une solution "élégante"
OK je vais voir ca.

Une question tout de même.

Puisque après la création les listes sont disponibles en modification, donc déplacable à volonté, est-il nécessaire de définir l'emplacement (Entête, Détail ou Pied de formulaire) de destination au niveau du formulaire?
__________________
Amicalement
DMboup est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 13h14   #10 (permalink)
Rédacteur/Modérateur
 
Avatar de Arkham46
 
Date d'inscription: septembre 2003
Messages: 2 535
Par défaut

Citation:
Envoyé par Maxence HUBICHE
Peut-être qu'en jouant avec la bibliothèque

Microsoft Visual Basic for Applications Extensibility xx.xx

Tu pourrais trouver une solution "élégante"
Bonne idée, c'est ce que j'ai fais.
Pour l'instant la fenêtre IDE s'ouvre mais au moins elle reste en arrière-plan.

Citation:
Envoyé par DMboup
Bien sur. Mais l'assistant étant aussi basé sur un formulaire, le formulaire actif n'est plus celui ouvert en mode création (qui doit recevoir
les contrôles à créer).
Tu stockes le nom du formulaire actif avant d'ouvrir celui de l'assistant?
Pas très élégant? Mais j'ai pas trouvé mieux...

Citation:
Envoyé par DMboup
Puisque après la création les listes sont disponibles en modification, donc déplacable à volonté, est-il nécessaire de définir l'emplacement (Entête, Détail ou Pied de formulaire) de destination au niveau du formulaire?
Là je n'ai pas ce souci je crois.
Le contrôle est créé sur la section active puis l'assistant est appelé.
En tout cas j'ai remarqué ça sur un assistant création de contrôle.
Mais tu parles de création de plusieurs listes, peut-être as-tu opté pour un complément de menu??
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 13h21   #11 (permalink)
Membre Expert
 
Date d'inscription: juin 2003
Localisation: Sénégal
Messages: 1 160
Par défaut

Citation:
Envoyé par Arkham46
Mais tu parles de création de plusieurs listes, peut-être as-tu opté pour un complément de menu??
Je crois avoir bien lu quand même. http://access.developpez.com/challenge/001/
Citation:
II. Description du défi
Il s'agit de développer un complément pour Access - 2000 et au-dessus - qui permette de facilement implémenter des listes dont les données se mettent à jour en cascade.
Il s'agit bien de plusieurs listes liées.
Exemple
1. Liste des niveaux d'études dans une école
2. Liste des classes du niveau choisi
3. Liste des élèves de la classe choisie.

J'espères n'avoir pas fais de hors sujet ?
__________________
Amicalement

Dernière modification par DMboup ; 07/05/2007 à 14h11
DMboup est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 13h53   #12 (permalink)
Rédacteur/Modérateur
 
Avatar de Arkham46
 
Date d'inscription: septembre 2003
Messages: 2 535
Par défaut

Citation:
Envoyé par DMboup
Je crois avoir bien lu quand même. http://access.developpez.com/challenge/001/


Il s'agit bien de plusieurs listes liées.
Exemple
1. Liste des niveaux d'études dans une école
2. Liste des classes du niveau choisi
3. Liste des élèves de la classe choisie.

J'espères n'avoir pas fait de hors sujet ?
Non tu n'es pas hors sujet.

Le but est simplement de répondre à un besoin fréquent : lier des zones de listes en cascades.
Effectivement l'objectif est de restreindre la source de données d'une liste en fonction du choix fait dans la liste précédente.

J'ai choisi d'utiliser un assistant lors de la création/modification de chaque liste. Donc je n'ai pas à créer de contrôles, mais l'assistant se déclenche une fois pour chaque liste liée. Si je veux lier 3 listes en cascade j'aurai donc à utiliser 2 fois l'assistant.
C'est mon choix, ce n'est pas forcément le meilleur.

De ton côté tu sembles avoir choisi de mettre en oeuvre un formulaire qui va créer les trois listes (ou plus?) en une seule fois.
Je n'y vois pas d'inconvénient, c'est intéressant aussi.

Le sujet n'était pas très directif, c'est fait exprès
A chacun de programmer le complément à sa sauce, en gardant en tête le sujet quand même.
Si les compléments sont très différents les uns des autres c'est normal et c'est tant mieux.
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 14h10   #13 (permalink)
Membre Expert
 
Date d'inscription: juin 2003
Localisation: Sénégal
Messages: 1 160
Par défaut

Citation:
Envoyé par Arkham46
Non tu n'es pas hors sujet.
Tant mieux.

Citation:
Envoyé par Arkham46
De ton côté tu sembles avoir choisi de mettre en oeuvre un formulaire qui va créer les trois listes (ou plus?) en une seule fois.
C'est bien ce que j'ai fais.
__________________
Amicalement
DMboup est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 18h10   #14 (permalink)
Membre Expert
 
Date d'inscription: juin 2003
Localisation: Sénégal
Messages: 1 160
Par défaut

Par rapport à mes trois questions, j'arrives à identifier le formulaire de destination (celui qui est ouvert en mode création) par ce code
Code :
 
For Each strFormName In Application.CurrentProject.AllForms
    If SysCmd(acSysCmdGetObjectState, acForm, strFormName.Name) <> conObjStateClosed Then
        If Forms(strFormName.Name).CurrentView = conDesignView Then
            NForm = strFormName.Name
            Exit For
        End If
    End If
Next
 
Le seul hic c'est qu'il faut que le formulaire soit déjà enregistré. Donc en faisant nouveau formulaire sans avoir enregistré, ca ne marche plus.

Je suis devant le mur de l'élégance.
__________________
Amicalement
DMboup est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/05/2007, 18h19   #15 (permalink)
Responsable MSOffice

 
Avatar de Maxence HUBICHE
 
Date d'inscription: juin 2002
Localisation: Argenteuil (95)
Messages: 3 458
Par défaut

Citation:
Envoyé par Arkham46
Tu stockes le nom du formulaire actif avant d'ouvrir celui de l'assistant?
Pas très élégant? Mais j'ai pas trouvé mieux...
Euh...
Quelques idées :
CodeProject vs CurrentProject ...
CodeContextobject ...
Propriétés du formulaire assistant défini par l'appel de la fonction
etc.
__________________
MVP Office Systems - Access
Je ne réponds pas aux questions techniques par MP

surtout ne cliquez pas >>là<< je vous aurai prévenu !
Profil LinkedIn <=> Viadeo
Pour une formation de qualité : 1formaxion
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Défis

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide