Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1602 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Formulaires de saisie avec beaucoup de champs?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaires de saisie avec beaucoup de champs?

n°1436524
fredtheman
Posté le 05-09-2006 à 01:30:15  profilanswer
 

Formulaires de saisie avec beaucoup de champs?
 
Bonjour
 
 Je profite de notre passage de VB (5) à Delphi (7 ou 2006; pas décidé encore) pour revoir la façon dont nous gérons les formulaires de saisie de données.
 
En VB, nous n'utilisons pas les objets liés aux bases de données, et gérons l'entrée de données nous-mêmes avec un objet tableur et une base SQL.
 
Le problème, c'est que certains formulaires contiennent beaucoup trop de données pour rentrer dans une seule fenêtre/form, ce qui nous oblige à soit obliger l'utilisateur à scroller pour voir les champs suivant en bas, soit à fractionner le formulaire en plusieurs fenêtres plus petites (en utilisant aux choix des fenêtres/forms indépendantes, ou un objet Tab). Voici un exemple de la première méthode:
 
http://codecomplete.free.fr/vb_input_form.jpg
 
En fait, les utilisateurs n'aiment pas scroller, ce qui fait que la plupart des écrans de saisie sont fractionnés en plusieurs fenêtres, chacune hébergeant une partie de l'écran de saisie.
 
=> Alors... comment gérez-vous ces situations où les utilisateurs doivent remplir beaucoup de champs dans des formulaires de saisie? Il doit bien exister de meilleures solutions que celles que nous avons utilisé jusqu'ici.
 
Merci pour toute piste :-)

mood
Publicité
Posté le 05-09-2006 à 01:30:15  profilanswer
 

n°1436563
el zozo
Stroumf Grognon
Posté le 05-09-2006 à 09:37:51  profilanswer
 

Pas fait ce genre de truc, mais à vu de nez, je dirais qu'une liste d'onglet (TTabControl) avec un DBGrid dans chaque serait pas mal (et un select partiel par DBGrid)
 
Maintenant, est-ce que les utilisateurs preférerons les onglets au scroll?  :pfff:

Message cité 1 fois
Message édité par el zozo le 05-09-2006 à 09:38:30
n°1436933
fredtheman
Posté le 05-09-2006 à 17:02:56  profilanswer
 

el zozo a écrit :

Pas fait ce genre de truc, mais à vu de nez, je dirais qu'une liste d'onglet (TTabControl) avec un DBGrid dans chaque serait pas mal (et un select partiel par DBGrid)


 
Oui, je pensais plutôt à ça. C'est facile de remplir plusieurs DBGrid, chacun localisé dans un onglet, et d'enregistrer toutes les modifs d'un coup lorsqu'on clique sur Enregistrer?
 

el zozo a écrit :

Maintenant, est-ce que les utilisateurs preférerons les onglets au scroll?  :pfff:


 
Clairement, vu qu'on a vite laissé tomber le scroll, justement parce que les utilisateurs ne supportaient pas. A la place, on utilise des fenêtres indépendantes, chacune avec un grid qui reprend une partie des colonnes des tables. Je crois qu'on n'a pas utilisé l'objet Tab de VB parce qu'il buggait.
 
Merci.

n°1436980
el zozo
Stroumf Grognon
Posté le 05-09-2006 à 17:36:34  profilanswer
 

fredtheman a écrit :

Oui, je pensais plutôt à ça. C'est facile de remplir plusieurs DBGrid, chacun localisé dans un onglet, et d'enregistrer toutes les modifs d'un coup lorsqu'on clique sur Enregistrer?.


Créer une liste d'onglet avec une grille de saisie, pour 12 personnes
 
temps : 15 minutes
 
ingredients:
1 fenetre (TForm)
1 connexion (TADOConnection ou TConnection. Je prefere l'ADO pour tout un tas de raisons)
1 classeur (TTabSheet, plus pratique ici que TTabControl)
5 requete (TADOQuery ou TQuery)
5 Datasources (TDatasources)
5 Grilles de données(TDBGrid)
 
Préchauffer le processeur à 35°C
 
Associer la connexion avec une base de données valide
Créer un TTabSheet sur la fenetre à l'emplacement désiré
Créer 5 pages dans le claseur (bouton droit, puis "nouvelle page" )
Dans chacune des pages, créer un TDBGrid. Définir la propriété Align à alClient
Créer 5 requetes et 5 datasources
Associéer chaque requete à la connexion
Remplir le code SQL de la premiere requete avec un code du genre "select a,b,c,d from MaTable"
Remplir le code SQL de la premiere requete avec un code du genre "select e,f,g,h from MaTable"
proceder de mème avec les autres requetes.
Associer chaque requete à un Datasource (propriete "dataset" du datasource)
Associer chaque DBGrid à un DAtasource (propriete "datasource" de la grille)
 
Ouvrir la connexion (connected = true)
Ouvrir chaque requete (active=true)
 
Demouler : les données doivent déja apparaitre dès la phase de conception
 
Compiler.
 
Quand le four beep, sortez du four et servez en l'état
 
(j'ai pas tester, mais en gros, c'est ça)

n°1439779
fredtheman
Posté le 10-09-2006 à 17:43:37  profilanswer
 

el zozo a écrit :

Créer une liste d'onglet avec une grille de saisie, pour 12 personnes


 
Merci pour le cours de cuisine :-)
 
> 1 connexion (TADOConnection ou TConnection. Je prefere l'ADO pour tout un tas de raisons)  
 
En fait, vu le contexte, j'aimerais utiliser une DB qui nécessite le moins de dépendence possible. ADO, ça ne nécessite pas d'installer MDAC, etc.? Je pensais plutôt utiliser un système embedded comme SQLite ou FireBird (en mode sans serveur), ou FireBird en mode serveur s'il y a vraiment trop de problème d'accès concurrents.
 
> 1 classeur (TTabSheet, plus pratique ici que TTabControl)  
 
Je suis paumé entre : TPageControl, TTabControl, TTabSheet, et les forms avec des frames (où frames = ensemble d'objets enregistrés réutilisable?). Tu pourrais résumer l'intérêt et avantages/inconvénients de chaque objet?
 
Merci.

n°1439829
el zozo
Stroumf Grognon
Posté le 10-09-2006 à 19:26:54  profilanswer
 

TPageControl : j'sais pas
TTabControl : c'est un composant qui se limite à un ensemble d'onglet (sans page associées)
TTabSheet : Un ensemble d'onglet avec un container (genre TPanel) associé à chacun. Ca permet de "designer" chaque page à la conception.

n°1441264
fredtheman
Posté le 12-09-2006 à 17:08:41  profilanswer
 

el zozo a écrit :

TPageControl : j'sais pas
TTabControl : c'est un composant qui se limite à un ensemble d'onglet (sans page associées)
TTabSheet : Un ensemble d'onglet avec un container (genre TPanel) associé à chacun. Ca permet de "designer" chaque page à la conception.


 
Merci. Vais cuisiner :-)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Formulaires de saisie avec beaucoup de champs?

 

Sujets relatifs
creation d'un champsSQL Access Regrouper tous les champs
Formulaire en PHP avec champs obligatoires[Access] Empêcher l'enregistrement auto sur un formulaire de saisie
Recuperation d'infos de plusieurs formulairesChamps de texte dans un formulaire et présentation
requete sur champs videGROUP BY sur deux caracteres d'un champs
[vba-access]Teste sur valeur des champs puis publipostageCaractère '<' par défaut dans un champs de texte
Plus de sujets relatifs à : Formulaires de saisie avec beaucoup de champs?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR