|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 307 ![]() |
Bonjour à tous,
Je cherche une méthode VBA pour que l'on puisse controler la creation de lignes une par une dans un sous formulaire de détails de facture/devis par exemple. J'ai essayé des boutons avec comme event click :"Allowaddition = true/false" , mais je voudrais qu'une fois toutes les conditions remplies la ligne en question s'enregistre sans qu'une autre ligne vierge n'apparaisse en dessous par défaut. |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() |
ça doit pouvoir se faire facilement. Je viens d'essayer la propriété allowadditions d'un sous-formulaire et ça marche nickel....Explique bien ton problème en détail
|
|
|
00
|
|
|
#3 | |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 307 ![]() |
Citation:
Mais ce que je voudrais c'est que comme on le voit souvent dans des logiciels : La ligne en cours de création ne soit pas obligatoirement e enregistrée jusqu'à ce qu'un contrôle de tous les champs ne soit effectué : un bouton "Enregistrer ligne" se chargerait de déclencher les vérifications puis enregistrements uniquement si tout va bien. Un blocage serait mis en place et tous les contrôles de la ligne fraichement enregistrée serait en Enabled=false (ça je sais le faire) Bref, je veux éviter qu' Access laisse une ligne de registre vide dans le SF et que l'enregistrement soit contrôlé et non systématique... |
|
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() |
Et bien comme ça je dirais :
crées des champs indépendants et sur l'evenement click de ton bouton tu lances une requête INSERTION(+ verrouillage des champs)....Qu'en penses-tu ? |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 307 ![]() |
Bin oui, mais tu parles d'un travail ! et comment afficher les lignes qui sont enregistrées ? faut des formulaires indépendants aussi ?
Je suppose qu'il faut un formulaire utilisateur qui quand il se ferme et si tout va bien actualise une requête d'ajout, mais et dans le cas d'une édition de ligne ? |
|
|
00
|
|
|
#6 | |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 307 ![]() |
Citation:
Ta réponse est très logique mais rajoute juste un peu de travail : De cette façon on peut alimenter base et formulaire sous-jacent grâce à un formulaire de saisie indépendant qui lui effectuera tous les contrôles exigés dans les conditions ... Bien vu ! (le formulaire détail Devis et Facture restera de cette façon en AllowAdditions= false et chaque ligne déjà existante aura ses champs en Enabled = False. Voici trois nouvelles questions qui apparaissent : 1/ Il me reste à connaître la syntaxe exacte pour déclencher une requête en vba pour access 2010 et comment renvoyer un message d' erreur si doublon ou erreur ... 2/ Comment bénéficier du même formulaire d'ajout de données et de sa boucle de contrôle avant enregistrement lorsque l'on veut éditer une ligne déjà existante ? Je verrais comme méthode (je suis ouvert à toute suggestion) : Réinjecter dans chaque champ du formulaire de saisie les données de la ligne active grâce à un bouton "Modifier Ligne" situé sur le formulaire principal. Le même bouton se chargeant de changer le titre du formulaire de saisie en Caption ="Modifier une ligne de "&[TypeDoc], la fermeture du formulaire aurait en event la boucle de vérification déjà utilisée. 3/ Dans la dite requête d'insertion, le numéro auto de la clé primaire qui sert à identifier chaque ligne dans la relation IdDocument <>IdLignedeDétail sera t'il conservé ? Saurais tu me guider ou bien indiquer une autre méthode ? Merci d'avance |
|
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() |
Citation:
Citation:
Lors de modification d'une ligne ? La réponse est oui |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com