Salut
Je vous propose ici comment faire un formulaire en mode continu avec sous formulaire. Il s'agit du cas d'un journal de comptabilité.
Bonne fête ramadan à tous et à toutes.
Salut
Je vous propose ici comment faire un formulaire en mode continu avec sous formulaire. Il s'agit du cas d'un journal de comptabilité.
Bonne fête ramadan à tous et à toutes.
Le monde est trop bien programmé pour être l’œuvre du hasard…
Mon produit pour la gestion d'école: www.logicoles.com
Bonjour
Ce serait bien de donner quelques explications, sur la mise en place de cela, en effet il faut penser aux débutants qui pourraient en avoir une utilité.
Philippe
Salut Philippe
Je viens de changer l'adresse de la contribution et je pense qu'avec les commentaires cela doit aller. En plus cela prend en compte la suppression et l'ajout.
Merci de la remarque.
Le monde est trop bien programmé pour être l’œuvre du hasard…
Mon produit pour la gestion d'école: www.logicoles.com
Bonjour,
super petit exercice très amusant.
Ça marche, alors bravo.
Du coup, je ne peux pas m'empêcher de te faire une petite suggestion (le piège, tant pis pour toi !)
Si j'ai bien compris,
- à l'évènement Form_Open, tu appelles la sub "LesLignes()"
- cette sub colle dans un array "tblligne()" une dizaine de valeurs
- chaque sous-formulaire a une source SQl qui fait appel à la Public Function renvoiecritere()
- cette fonction renvoit un Integer qui doit (pas eu le temps, mais je suppose) être la clé primaire d'un enregistrement. Dans ce cas, vaut mieux un long ?
- donc, chque sous-form. affiche un enregistrement différent, avec le sous-formulaire qui lui est lié !
Impec.
Pourquoi n'essaye tu pas ce scénario :
- 1 seul conteneur (aucun changement)
- 1 seul sous-formulaire (au lieu de 10 )
- sur ce sous form., une textbox indépendante, cachée ou non ? (ton choix),
- la sub LesLignes() va mettre directement la valeur de la clé dans ce contrôle (Me.controls("frmoperation" & i).form.txtMasque = valeur),
- la source du sous-formulaire fait directement référence à ce contrôle (juste par son nom, puisqu'il est sur place : "WHERE numoprtion = [txtMasque]")
Si ça ne te plait pas, il y en a encore une autre, peut être mieux :
- les 10 contrôles indépendants sont sur le formulaire principal (invisibles, dans l'en-tête... ?)
- tu relis chaque sous-formulaire au principal, en utilisant la clé comme champ fils (la même pour les 10 sous form), et 1 des indépendants comme champ père (chacun le sien) ?
Bon debugging et continue, j'adore les solutions aux problèmes "impossibles"
Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.
Salut
Je vais essayer la première suggestion. Je trouve qu'avec la deuxième "liaison champ père champ fils" fera exécuter la requête source deux fois.
Merci et @+
Le monde est trop bien programmé pour être l’œuvre du hasard…
Mon produit pour la gestion d'école: www.logicoles.com
Salut
En liant les sous forms au form principal, à l'ouverture access tentera d'actualiser les données des sous forms et en plus dans mon code on fera un "requery" ce qui me fait dire que les requêtes sources s'exécuteront deux fois.
Je viens de modifier selon la première méthode.
Merci de la suggestion
Le monde est trop bien programmé pour être l’œuvre du hasard…
Mon produit pour la gestion d'école: www.logicoles.com
Bonjour,
A propos du "requery" : inutile, bien sûr, lorsque le contenu du père change.
Mais Access va en faire un tout seul, donc, oui, bien vu.
Seule remarque qui pourrait tempérer : la 1ère actualisation se fera avec un "père" Null -> quasiment aucun temps de chargement des données ? (seul un test le dira )
Entre les 2, j'ai toujours une préférence pour le "père/fils'" parce qu'à l'usage (changement de valeur du père), Access se révèle beaucoup plus efficace.
As-tu prévu de continuer au delà de 10 sous-form ? (chargement de la "page" 11-20, puis 21-30...)
Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.
Salut
J'ai essayé de faire pour 20 mais access me dit que la taille maximale du form dépasse donc j'ai pris 15.
Le monde est trop bien programmé pour être l’œuvre du hasard…
Mon produit pour la gestion d'école: www.logicoles.com
Je me suis mal exprimé.
Je veux parler d'une table avec 100, 1000 ou ... autant d'enregistrements que l'on veut.
Tu dois pouvoir le faire avec une présentation de type web, soit 10 (ou 15) enregistrements par "page".
Arrivé en bas de la page (ou par des boutons de navigation "customisés"), tu peux placer un bouton "page suivante".
- à l'ouverture du formulaire, comme maintenant, affichage des 10 premiers,
- puis, page 2, les enregistrements de 11 à 20,
- etc.
Il te suffit de changer le contenu des contrôles-clé.
C'est un peu pour ça aussi que j'avais une préférence pour la solution "père-fils", même si la solution "contrôle-père dans le sousform" marche aussi.
Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.
Ce fichier tourne sur quel version d'access
Salut
A partir de 2003
Le monde est trop bien programmé pour être l’œuvre du hasard…
Mon produit pour la gestion d'école: www.logicoles.com
Bonjour,
Ce sujet m'interesse beaucoup, mais malheureusement je ne vois pas l'exemple dont il est question...
Est-ce normal ?
Merci
Salut
Dans le premier message, tu clique sur le mot ICI pour télécharger.
@+
Le monde est trop bien programmé pour être l’œuvre du hasard…
Mon produit pour la gestion d'école: www.logicoles.com
Oups ! J'avais pas vu...
Merci !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager