|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 309 ![]() |
Bonjour à tous,
J'aurai besoin du conseil d'un pro concernant la duplication de factures ou génération d'avoirs. Je ne sais pas quelle méthode utiliser pour récupérer les données d'une table "Détails factures" correspondantes au numéro de facture en cours de la table "Factures" pour pouvoir créér automatiquement une duplication de facture ou générer un avoir. Je sais qu'il faut se servir de requêtes ajout pour remplir une table "avoirs" puis la table "détails avoirs" qui recevront la copie des données des tables citées plus haut , mais je n'arrive pas à le mettre en place. J'arrive à remplir la table Avoirs par rapport à la facture à transformer mais je ne sais pas comment effectuer la requête qui reprendrait toutes les lignes de la table "Détails factures" et les injecterait dans la table "Détails avoirs" ? Faut il le faire en deux étapes ? Bref, si vous connaissez la méthode, merci de m'en faire part (J'éxécute toutes mes actions en VBA et me sers exclusivement de formulaires indépendants) Merci beaucoup d'avance |
|
|
00
|
|
|
#2 | ||||||
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
Première suggestion: dans ma base perso, celle avec laquelle je gère Simplifi et que je vends, les avoirs sont bien stockés dans la table facture et donc les détails d'avoirs dans la table des détails de factures quant à la duplication de facture, j'ai ce programme (léger) sous le bouton: Code :
Code :
Code :
Il faut donc bien commencer par copier la table mère puis ensuite la fille Les N° de facture de départ ([Formulaires]![Duplication_factures]![N°facture] ) et d'arrivée (Formulaires!Duplication_factures!surN°) ont été déterminés sur le fomulaire Duplication_factures
__________________
-------------------Simplifi----------comme si tout était simple-------- |
||||||
|
|
00
|
|
|
#3 | |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 309 ![]() |
Citation:
J'ai déjà créée une table "Avoirs" qui est automatiquement complétée sur clic de bouton depuis mon formulaire Factures avec un module qui attribue un numéro automatique d'avoir. C'est l' automatisation des requêtes filles qui me pose problème, comment insérer le résultat de la requête "Détails Factures" dans la table "Détails avoirs" ? Ca doit être tout bête mais avec la fatigue je trouve pas la logique à appliquer... |
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
c'est bien le but de la deuxième requête de ma réponse précédente Pour procéder: je commence par une requête sélection sur les détails avec le même critère que la sélection de des en-têtes Ensuite je la passe en requête ajout
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 309 ![]() |
Oui, mais comment récupérer les valeurs de la première requête pour les mettre dans la deuxième ?
|
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 309 ![]() |
En fait je me rends compte qu'il faut tout bêtement utiliser des requêtes ajout !!!
Mon seul problème va être d'injecter le numéro d'avoir dans la table "Détails Avoirs" qui est créé dans la table avoir mais j'ai ma petite idée ... |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
c'est bien pour ça que je prépare mon nouveau numéro dans le formulaire Duplication_factures avant de cliquer sur le bouton de commande. Ceci me permet de programmer la règle que je veux: par exemple: - le max de N° +1 - le max de N° +1 si N°>0, ou min de N° -1 si N°<0 - le max de N° du mois en cours +1 - deux chiffres pour l'année, un tiret, deux pour le mois, un tiret, le max de N° du mois en cours +1 - tout autre produit deton imagnation Mais surtout, ça me permet de forcer à la main celui que je veux, notamment pour entrer le N°11 avant le N°10 enfin ma requête fait référence à ce champ avec chez moi la formule: Code :
[Formulaires]![Duplication_factures]![surN°]+[N°ligne]-[N°Fact] AS N°Ligne si donc le numéro sur lequel on copie (SurN°) est 5 alors on a 5 + 2,01 - 2 = 5,01 ; 5 + 2,02 - 2 = 5,02 ; etc à toi d'adapter à ton cas
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Technicien maintenance Inscription : juin 2008 Messages : 110 ![]() |
Bonjour comment a tu fait pour lier dans ta table avoir car ton id facture qui permet d'y rattacher les lignes de facture n'est pas le même pour l'avoir.
Je bute sur ce problème. J'ai fait une requête qui me récupère l'id de l'insertion et je dois insérer cet id dans ma table détail en place. Moi je part d'un devis que je transforme en facture. Donc c mon "devis_id" qui fait lien avec "detail_devis_id" Je fais mon insert et je récupère le "fact_id" que je dois utiliser dans "detail_fact_id" mais mon problème c'est que je ne sais pas comment l'interpréter dans ma requête d'insert car j'aurai donc une variable + un select |
|
|
00
|
|
|
#9 | ||
|
Membre régulier
![]() Inscription : janvier 2011 Messages : 309 ![]() |
Sur le bouton "Transformer en Facture" :
Une fonction de numérotation automatique par rapport à la date et le mois / année qui se charge de numéroter les Devis en vérifiant le dernier numéro existant. J'ai créé un champ "Liaison" dans la table Devis et dans la table Factures. Je remplis ce champ par la requête Insert into du genre : Code :
J' éffectue un update de la table Devis pour remplir le champ liaison de la table Devis : Code :
Update "Devis" Set [Liaison]=Me.NumfactureAuto(); Le cas est applicable si tu disposes aussi d'une seule table pour les devis / factures. |
||
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Technicien maintenance Inscription : juin 2008 Messages : 110 ![]() |
Salut, je vais regarder un peu ce que tu a fait mais demain car là dodo ;-)
Mais moi non j'ai 1 table devis + 1 table detail_devis et 1 table facture + 1 table detail_facture. Merci de l'info je te tiens au courant |
|
|
00
|
|
|
#11 | ||||
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
sur ce shéma, j'ai toute la chaine Devis-commande-bordereaux de livraison-Facture/avoir Et comme pour moi tous ces documents sont les mêmes pour les fournisseurs et pour les clients, j'ai un oui/non pour payer/encaisser voilà donc le sql d'une requête de passage de devis en commande: requête "Passe_devis_commande": Code :
Code :
et le lien entre les deux se fait par Détail_commande.N°Com = Commandes.N°Commande
__________________
-------------------Simplifi----------comme si tout était simple-------- |
||||
|
|
00
|
|
|
#12 | ||
|
Nouveau Membre du Club
![]() Technicien maintenance Inscription : juin 2008 Messages : 110 ![]() |
Petite question sur ton code car là je patauge lol.
Quand tu fait Code :
Code :
Val(Formulaires!Passage_devis_com!surN°) AS N°Commande Edit : C'est bon j'ai trouvé, non sans mal, mais j'ai trouvé. Merci de tes réponses qui m'ont bien aiguillé. Bonne continuation |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com