|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 310 ![]() |
Bonjour à tous,
Je tente de réinjecter les valeurs d'une requête dans un formulaire contenant que des champs indépendants pour éviter d'utiliser des variables. Pour essayer j'ai mis ce code basique sur un bouton dans un formulaire indépendant contenant un combobox de sélection. Voici le code du bouton : Code :
Code :
Cela veut il dire qu'il faut déclarer la source de chaque champ comme variable avant exécution ? Comment s'y prendre pour avoir le moins de code possible ? (Pour l'instant je me servais de variables reprises dans un formulaire pour en ouvrir un autre mais vu le nombre de champs existants dans le formulaire final ça devenait pénible, j'ai donc pensé qu'il valait mieux essayer de le remplir avec le résultat d'une requête ...) Merci d'avance pour vos suggestions |
||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
Résumons : Tu as dans un formulaire un contrôle indépendant dans lequel tu veux afficher le résultat d'une requête. Je te suggère d'utiliser une fonction de domaine pour y arriver. Vois ici comment cela fonctionne : -Les fonctions de domaine (Philippe JOCHMANS) http://starec.developpez.com/tuto/fonctionsdomaines/ |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Je n'ai pas tout saisi, mais voici ma suggestion : au lieu de définir la source du formulaire ainsi que le contenu de chaque champ à partir du bouton, il me semblerait plus logique de le faire à partir du formulaire qui s'ouvre. Dans un premier temps, le bouton ouvre le formulaire Dans un deuxième temps, sur l'événement "Ouverture" du formulaire "devis et facture", vous définissez votre chaîne SQL, puis vous l'affectez comme source du formulaire. Pour les contrôles, à priori (sauf cas plus complexe), il suffit de leur affecter comme source un des champs de la requête. Je ne vois pas trop l'intérêt de les mettre indépendant? Dernière chose : comme votre chaine sql contient une condition "where", il faudra peut-être stocker ces valeur soit des variables globales, soit dans une table paramètre, soit utiliser "open args" Pierre |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
pour ce genre de fonctionnement, je base le formulaire "devis et factures" sur la table [Devis et Factures]. ça peut même être fait à la va vite avec un assistant enuite, soit j'ouvre le formulaire avec un filtre Code :
DoCmd.OpenForm "devis et factures",,, "NumDocument)= " & [Formulaires]![Formulaire3]![ListeDocuments]
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
10
|
|
|
#5 |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 310 ![]() |
Bon, alors un peu d'explications pour que vous cerniez mieux le problème :
Le formulaire que je veux remplir avec le résultat de requête est le même qui sert à la saisie des données. Les champs sont indépendants car c'est la seule façon pour que l'on puisse contrôler finement ce que rentre l'utilisateur dans le dit formulaire et que des conditions puissent être vérifiées en VBA. Ce que je voulais c'est réinjecter les valeurs dans le formulaire lorsqu'on choisit dans une liste placée dans un autre formulaire. Jusqu' à présent je déclarais les variables concernant chaque valeur de chaque champ de destination en les reprenant une à une dans le formulaire ou se trouve la liste de choix de documents... Concernant les fonctions de domaines, je pense que vous vous référez à Dlookup qui serait utilisé autant de fois que de champs à remplir dans le formulaire à ouvrir non ? Je pensais que l'utilisation d'une requête alourdissait moins le procesus ! Qu'est ce qu'un pro ferait dans un cas comme çà ? |
|
|
00
|
|
|
#6 | |
![]() ![]() |
Bonjour
Citation:
En effet il y a plein de trucs tel que : masque de saisie, test des valeurs, etc. Et souvent avec moins de codes Je te conseille de t'orienter vers cette solution, cela allégera ton travail. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
|
00
|
|
|
#7 | |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 310 ![]() |
Citation:
En faisant des requêtes par vba après vérification des conditions le contrôle est total En effet la ligne ne s'enregistre que si tous les champs et toutes les conditions sont remplis ... |
|
|
|
00
|
|
|
#8 | |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Citation:
Cela te permet de vérifier et prendre la main pour - valider et accepter ; - corriger d'office ; - refuser et afficher un message... édit: c'est alors la propriété ".Text" qu'il faut manipuler (et non pas ".value") |
|
|
|
10
|
|
|
#9 |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 310 ![]() |
J'ai opté pour la fonction de domaine Dlookup qui me ramène toutes les valeurs requises champ par champ, je ne l'avais pas utilisée dans ce procesus croyant qu'elle allait consommer beaucoup de ressource/ temps mais il n'en est rien
Merci à tous |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com