Тёмный

Valider et archiver les commandes des clients 

Formations Excel, Access et bien d'autres
Подписаться 104 тыс.
Просмотров 11 тыс.
50% 1

Créer l'enregistrement de la commande et ses dépendances dans la table liée du détail sans code VBA Access et uniquement avec les requêtes et macros. Nous construisons une première requête Ajout. Elle récupère dynamiquement les informations sur le client et le montant total, depuis le formulaire en cours d'exécution. Nous bâtissons une nouvelle requête Ajout capable de réceptionner le nouveau numéro de commande créé, indispensable pour la table liée, devant archiver le détail de la commande à valider. Nous concevons une requête Ajout supplémentaire par l'intermédiaire du code Sql. Celle-ci permet d'insérer tous les enregistrements de la commande en cours dans la table liée. Enfin, nous créons une dernière requête pour vider la table temporaire, une fois la facture validée et archivée. Toutes ces requêtes sont empilées dans des actions de macro, exécutées au clic sur le bouton du formulaire.
Base de données source et formation détaillée sur le site Web :
www.bonbache.f...
#AccessFormulaire
#FacturationAccess
#AccessRequête
#MacroAccess
#AccessExercices
Tous les exercices Access en vidéos :
• Access Exercices

Опубликовано:

 

19 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 62   
@Roken7
@Roken7 6 месяцев назад
Merci Beaucoup Monsieur ! vous proposez un contenu très clair
6 месяцев назад
Bonjour Aimad, c'est un plaisir. Merci beaucoup pour ces mots.
@romeokakai8420
@romeokakai8420 2 года назад
Vraiment, les mots me manquent pour commenter cette vidéo, tout est parfait et bien expliqué. Evidement si vous ne regardez pas les précédentes vidéos, vous comprendrez rien. Merci à vous!
2 года назад
Vraiment merci Roméo pour ces mots en retour. C'est un grand plaisir et une source de satisfaction.
@mohameddjebriltedjini2814
@mohameddjebriltedjini2814 Год назад
Merci beaucoup pour vos éclaircissement, j'ai réussi mon exercice Encore une fois merci pour votre générosité
Год назад
C'est un plaisir Mohamed. Merci beaucoup pour ce message en retour.
@abdou73811
@abdou73811 3 года назад
👍👍👍 Merci bcp, c'est vraiment d'une grande utilité et dénote de votre générosité sans limite.Ca se sent.Encore une fois Merci
3 года назад
C'est très agréable de votre part Abdou. Très sincèrement merci pour ce message en retour.
@abdou73811
@abdou73811 3 года назад
@ je n'ai fais qu'évoquer une réalité et exprimé. ce que j'ai ressenti .C'est largement mérité
@alainwattelet9961
@alainwattelet9961 4 года назад
Bonjour Stéphane, Merci.
4 года назад
Merci beaucoup Alain pour votre suivi.
@affaimahamadoufofana8791
@affaimahamadoufofana8791 4 года назад
Bonjour et merci pour les vidéos Rossetti Stéphane du courage !
4 года назад
Bonjour Affai. Merci beaucoup pour votre message et votre soutien.
@watsonzaire9081
@watsonzaire9081 3 года назад
I know it's quite off topic but do anybody know of a good site to stream newly released tv shows online ?
@devonkenneth7763
@devonkenneth7763 3 года назад
@Watson Zaire i use FlixZone. You can find it by googling =)
@goldrakdyzer709
@goldrakdyzer709 4 года назад
Bonjour Prof Merci infiniment pour la partage aussi je vous souhaite une bonne journée remplie d’énergie et d’activité culturel
4 года назад
Bonjour mon Cher Goldrak Dyzer. Je vous remercie énormément pour votre soutien sans faille.
@gerardharouel1312
@gerardharouel1312 4 года назад
Bonjour Stéphane, il me semblerait que j'ai plus de problèmes avec Excel , qu'avec Access... Très bon tuto Prof, merci infiniment .
4 года назад
Bonjour Gérard, pourtant Access est bien moins simple à appréhender a priori. Félicitations donc et très grand merci pour votre message.
@loisonmarc4505
@loisonmarc4505 3 года назад
Quand je lance ma macro R_MAJ_Num, access me mets un avertissement ( le champs produit_num ne peut pas être mis en jour. est ce la cle primaire de la table Com_temp et est un champs NuméroAuto
3 года назад
Bonjour Marc. Oui le champ de la clé primaire ne doit pas être désigné dans la requête d'insertion. Il se génère seul. Ce sont tous les autres champs qui doivent être renseignés.
@hassannaqy9141
@hassannaqy9141 4 года назад
Bonjour Mr Stéphane, Est il possible de vider le contrôle indépendant "Qte achetée" après chaque clic sur le bouton "Ajouter"? Je crois que ceci permettra de rappeler toujours à l'utilisateur de saisir une quantité après le choix du produit suivant, le cas échéant, le message "Une référence et une quantité doivent être désignées", déjà programmé dans les macros dudit bouton, s'affichera. Merci infiniment.
4 года назад
Bonjour Hassan, oui c'est pertinent. Par les macros j'en doute, une petite ligne VBA à appeler par la macro en revanche [Qte]="" ferait l'affaire.
@emmanueldemeillers3293
@emmanueldemeillers3293 4 года назад
Bonjour Stéphane, je suis complètement novice en création de base de données et je vous félicite pour vos tutoriels que je trouve particulièrement clairs. Malgré mon manque d'expérience, je me suis lancé dans un projet de BDD pour mon association dans lequel nombre de vos techniques peuvent être utiles. Néanmoins, je me heurte à une difficulté non évoquée dans cette archive de commandes des clients : si une mise à jour d'un tarif a lieu entre la date d'achat et l'édition de la facture (on peut imaginer qu'un client demande un duplicata d'une facture impayée qu'il a égarée) , celle-ci devient incohérente puisque la ligne du produit utilisera le nouveau tarif du produit et le montant total n'en tiendra pas compte. Y a-t-il une astuce "simple" pour y remédier ? Merci d'avance pour toute aide éventuelle.
4 года назад
Bonjour Emmanuel et merci pour votre message. Dans cette suite d'exercices, la question ne se pose pas puisque l'édition intervient au moment de la commande. Pour résoudre votre cas, les techniques Access ne sont pas le souci. Il s'agit plutôt d'ériger une politique d'entreprise pour définir comment doivent être traités ces cas.
@emmanueldemeillers3293
@emmanueldemeillers3293 4 года назад
@ Merci pour votre réactivité.
4 года назад
@@emmanueldemeillers3293 Je vous en prie Emmanuel.
@dominiquecourtin4295
@dominiquecourtin4295 2 года назад
Bonjour Stéphane. J'ai pratiquement fini tous les tutos, j'en suis à la creation d'état. Par contre, je rencontre un problème : Je ne sais pas comment faire le calcul d'un produit avec remise en me référant à la colonne Produit_code de la table produit par rapport remise_code de la table Remises. Je n'arrive pas à faire la liaison. Si vous pouviez m'aider ..... Vos tutos sont toujours aussi passionnant et clair. Un grand merci à vous. Cordialement IBM Man
2 года назад
Bonjour Dominique. Vous pouvez utiliser la fonction RechDom pour isoler le produit correspondant à l'article en cours sur le formulaire et ainsi lui appliquer la quantité achetée et la remise à lui associer.
@dominiquecourtin4295
@dominiquecourtin4295 2 года назад
@ Bonjour Stéphane. Tout d'abord, un GRAND MERCI pour cette formation ACCESS. Je n'ai jamais eu l'occasion au cours de ma carrière professionnelle de pratiquer les applications sur PC, grâce à vous c'est chose faite !!! Et très instructif ! Je viens de clore le dernier exercice. J'ai tout reproduis de A à Z (juste importé les tables clients, produits et remises pour avoir des données). Celà fonctionne parfaitement. Dans la foulée, je vais essayer de rendre fonctionnel le bouton fermer formulaire dans les sous formulaires de navig_principal, bloquer le changt Id client tant qu'une commande n'est pas validée, permettre une annulation d'une commande validée, prendre en compte les remises éventuelles avec la réponse que vous m'avez fournie, ainsi que la possibilité de rééditer une ancienne facture. Bref, de pouvoir mettre en pratique ce que brillament vous nous apprennez. J'ai déja rajouté des champs tel et adresse dans la table client. Ca sert pas à grand chose mais celà permet de remplir l'écran. Sûrement l'habitude d'avoir plein de données affichées avec les Mainframes IBM. On se refait pas ! A bientôt ! IBM Man
2 года назад
​@@dominiquecourtin4295 Je suis très flatté par votre message et par l'étendue des travaux que vous avez entrepris et par ceux que vous souhaitez réaliser en guise de perfectionnement des solutions qui sont apportées par ces exercices. C'est un plaisir. Merci beaucoup. Bon Week-End à vous.
@dominiquecourtin4295
@dominiquecourtin4295 2 года назад
Avec plaisir. Bon Week-End
@dominiquecourtin4295
@dominiquecourtin4295 2 года назад
Bonjour Stéphane. J'ai réalisé le formulaire détail des commandes clients sur un même formulaire, c'est OK. Par contre, quand je veux l'intégrer dans le formulaire navig_principal, Access n'arrive pas à cibler le champ Com_num malgré avoir mis en amont l'expression de correspondance dans la requête R_Detail au niveau de la zone critère. De fait, je dois rentrer la valeur manuellement. Cet ajout dans le formulaire de navigation est-il possible ? Si vous pouviez m'éclairer, ce serait super. Merci d'avance et bon week-end. IBM Man
@martinbrait4730
@martinbrait4730 4 года назад
Bonjour Stéphane, Pourquoi avoir créé dans la base Com_temp en plus de Commande ? Il suffisait de détruire systématiquement les lignes de commandes, à la fermeture du formulaire lorsqu'une commande n'est pas validée. Maintenant, si le besoin est de construire un panier de commande temporaire, pour pouvoir le retrouver par la suite, et finir par valider, la conception est bonne.
4 года назад
Bonjour Martin. Pour ne pas risquer d'altérer les tables source tant que la validation n'est pas totalement opérée d'autant que les relations entre en jeux pour la diffusion dans les tables dépendantes.
@martinbrait4730
@martinbrait4730 4 года назад
accès concurrents : Access gère-t-il le cas ou 2 personnes saisissent simultanément une facturation via le formulaire? N'y a t il aucun risque de retrouver des lignes de commande d'un client, dans la commande d'un autre client ? Est-ce que l'identification du gestionnaire de saisie, via un champ [gestionnaire] rempli avec la fonction Environ('Username'), aiderait ? 17:10 Je rédigerai la fonction de la manière suivante, car mon champ commandes.gestionnaires est rempli, à l'étape précédente. MaxDom([commandes]![com_num];"[commandes]";"[gestionnaire]" = Environ("Username")) '_______________________________________________ 8:03-29:11 20 minutes de réalisation d'une macro : pour désactiver des alertes office gênantes pour lancer 4 requêtes action pour lancer 1 message utilisateur pour réactiver les alertes office pour encrasser la base, avec 1 macro enregistrée dans l'explorateur de macros; pour encrasser la base, avec 4 requêtes enregistrées dans l''explorateur de requêtes; pour ne laisser aucun commentaire en clair dans la base détaillant la séquence chronologique de la transaction. Pourquoi ne pas avoir réalisé une belle transaction vba, dans une classe Facturation, avec un beau commentaire très explicite laissé aux développeurs, et une batterie de messages de succès ou d'échec de validation de facture. Notre trace dans la base ? 1 classe Commandes, dans l'explorateur de modules, et un appel de classe, dans le formulaire f_Commandes. '________________________________________________ Le niveau exigé pour réaliser proprement ce formulaire, est-il sincèrement à un programmeur de macros ? Récupérer un projet contenant ce genre de macros, n'est il pas horripilant pour les autres développeurs ?
4 года назад
Oui tout à fait Martin. Pour cela il faut déployer l'application en back et front End. Une queue List est générée. ça se joue à des millisecondes près. J'ai déjà exploité Access pour des sites, alimentation de rubriques et forums. L'exemple est donc parfaitement concret. Martin, pardonnez moi et je ne souhaite pas vous vexer. Vos messages sont très longs. Je vous ai déjà sensibilisé à ce sujet. Je souhaite répondre à tout le monde à défaut de pouvoir aider tout le monde. Les sollicitations sont très nombreuses. Je suis à la recherche de temps. Et en parlant de professionnalisme, terme que vous utilisez souvent et c'est à votre honneur, en communication d'entreprise, il faut faire concis.
@martinbrait4730
@martinbrait4730 4 года назад
Je recommande la version VBA (du même auteur) www.bonbache.fr/facturation-access-et-gestion-de-stocks-vba-216.html Répond complètement au cas d'utilisation, sans traces de macros et de requêtes. Multiplier sans cesse les macros et les sous-formulaires, jusqu'à en faire une base de 11587 macros, et 4956 sous-formulaires, non commentée, non documentée, non spécifiée, bonne pour la casse ? Dois-je perdre mon temps à maintenir ce genre d'ânerie ?
4 года назад
Merci pour ce partage Martin. En revanche, je ne suis pas d'accord avec vous, voire pas du tout. Tout ce qui peut permettre d'éviter le code doit être mis en place. Cet exemple de facturation est une belle illustration : www.bonbache.fr/valider-la-facture-du-client-avec-access-399.html En récupérant la source, vous constaterez que les requêtes sont peu nombreuses et encore certaines sont là juste à titre de manipulations précédentes pour démonstrations. Pourquoi éviter le code. Les raisons sont multiples et la première est évidente. Tout le monde ne met pas les mains dans le code alors que tout le monde est en mesure de comprendre l'automation offerte par les macros et les requêtes. Bâtir des programmes aux lignes de codes interminables et incompréhensibles faute de recul et de savoir rend l'application impossible à porter.
@mostafatagmouti338
@mostafatagmouti338 3 года назад
Comment centrer verticalement dans une zone de texte dans un état d'impression ? merci
3 года назад
Bonjour Mostafa. Avec les propriétés des contrôles, vous devez jouer sur les marges dans la feuille de propriétés.
@mostafatagmouti338
@mostafatagmouti338 3 года назад
@ merci bcp.
3 года назад
@@mostafatagmouti338 Je vous en prie.
@didierCLAVIER
@didierCLAVIER 7 месяцев назад
BONSOIR, suite à votre précédente réponse je ne peux toujours pas télécharger vos exercice. merci de me répondre en me décomposant la méthode. cordialement
7 месяцев назад
Bonjour Didier, le lien de téléchargement qui est donné sur le pas à pas détaillé est le suivant : www.bonbache.fr/images_contenus/valider-facture-client/clients-et-commandes-facture-client.rar
@philipperivero6438
@philipperivero6438 4 года назад
Bonjour, Stéphane on ne compte plus les mercis !!! Procédure intéressante qui nous apprend à se servir d'une table comme "d'une mémoire tampon", qui va réécrire ensuite grâce à un code SQL sur la table de destination ... j 'espère bien retranscrire ton tutoriel dans cette phrase, je me heurte à un soucis, ma table temporaire sur mon projet (non pas sur ton fichier ) se rempli que si je met déjà un premier enregistrement, il peut donc lui écrire dessus et la ça fonctionne et forcément avec la requête de suppression il reste plus qu'une ligne et là ça fonctionne plus ? une idée de mon problème ?Merci.
4 года назад
Bonjour Philippe, oui vous avez parfaitement résumé le principe de cette formation. Quant à votre souci, je ne le comprends pas. Comment est défini la clé primaire de cette table et comment est elle implémentée par votre requête ?
@philipperivero6438
@philipperivero6438 4 года назад
Bonjour, @ , ma table temporaire n'a pas de clé primaire exactement comme la table Com_temp de votre formation, elle réceptionne la clé primaire clients au lieu de la clé commande c'est tout, j'ai poussé le vice à copier votre table Com_temp dans mon projet pour essayer d'écrire dessus mais le résultat est le même ?... Elle est implémentée avec le même code que vous pour récupérer la valeur max avec des noms différents ( si c'est ça que vous me demandez par implémentée ?), j'ai procédé par étape, au début j’écrivais juste la clé clients sur la table temporaire et ça ne marchait pas, sauf si j enregistrais une première ligne vide.Pour le moment ça fonctionne bien en laissant un ligne vide et je n’exécute pas de requête Suppr je laisse les nouvelles valeurs écraser l'ancienne, je sais pas si c'est optimal, j'ai vérifié qu'un champ renseigné ne reste pas enregistré quand un vide arrive derrière, et ce n'est pas le cas, un champ vide écrase un champ plein. Merci pour votre attention, c'est vraiment sympa.
4 года назад
Ok, mais le fait que l'implémentation de la table temporaire ne se fasse pas n'est absolument pas logique. Une erreur survient, mais je n'arrive pas à comprendre pourquoi l'anomalie disparaît lorsqu'un enregistrement existe. Il n'est pas impossible qu'une toute petite erreur de syntaxe se soit glissée dans votre requête, notamment sur un nom de champ et qu'Access ait la capacité de la corriger lorsqu’un enregistrement est déjà présent. ça ne paraît pas très logique certes, mais il y a forcément un problème. Ces requêtes, lorsqu'elles sont correctement codées, sont sans faille. Le nombre de vos champs est il important ?
@philipperivero6438
@philipperivero6438 4 года назад
Re, 4 champs, j'ai vérifié à nouveau les noms, changé une valeur par défaut à vide au lieu de 0 , réduit au plus simple le nom de la table, réduit les noms de champs ...mon code de départ qui ne fonctionne pas : UPDATE T_Temp_Ajout_T_Infos_Inst SET T_Temp_Ajout_T_Infos_Inst.Champ_ID_Temp = DMax("[T_Abonnes]![IDabonne]","[T_Abonnes]"); j'ai réduit à UPDATE T_Temp SET T_Temp.Id = DMax("[T_Abonnes]![IDabonne]","[T_Abonnes]"); et c'est pareil... mystère ! Mais mon côté perfectionniste me laisse sur ma faim :/
4 года назад
Dans la table temporaire, il s'agit d'une requête Insert (Ajout) après suppression et non d'une requête mise à jour (Update). Ai-je perdu le fil de nos discussions ?
@jacksonsyskl4601
@jacksonsyskl4601 4 года назад
Très compliqué maintenant !!
4 года назад
Oui en effet Jackson Syskl, les techniques se compliquent mais aboutissent un résultat remarquable sans l'appui du code VBA. Pour simplifier la tâche, vous pouvez consulter la procédure détaillée à cette adresse : www.bonbache.fr/valider-et-archiver-les-commandes-des-clients-467.html
@kemmogabriel4467
@kemmogabriel4467 4 года назад
Bonjour Vous êtes le meilleur vos videos sont fantastiques mais je ne parviens pas à accéder au site pour le téléchargement des fichiers
4 года назад
Bonjour Gabriel. Merci infiniment pour ce complément fort agréable. Le fichier se trouve à cette adresse : www.bonbache.fr/valider-et-archiver-les-commandes-des-clients-467.html En début de formation, après le deuxième titre, il est écrit : Télécharger le fichier clients-et-commandes-facture-client.rar en cliquant sur ce lien
@kemmogabriel4467
@kemmogabriel4467 4 года назад
Merci monsieur Stéphane
4 года назад
​@@kemmogabriel4467 Je vous en prie.
Далее
Actualiser les stocks après commande avec Access
24:34
Formulaire Access de commande à onglets
24:28
Просмотров 11 тыс.
А вам, слабо?
00:22
Просмотров 30 тыс.
Formulaires de navigation et de suppression
24:54
Просмотров 7 тыс.
Extraire selon un ou plusieurs critères recoupés
23:41
Opérations de synthèse par les requêtes Access
27:04
Macros Access pour formulaires de création
32:54
Просмотров 13 тыс.
Etat Access pour les commandes des clients
32:18
Просмотров 10 тыс.
Exercice Access sur les requêtes Action
38:45
Просмотров 18 тыс.
Débuter avec les macros Access
28:12
Просмотров 24 тыс.
Mise en page d'un formulaire Access avec onglets
17:57