Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/08/2011, 12h32   #1
Invité de passage
 
Inscription : septembre 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 12
Points : 1
Points : 1
Par défaut frm FactureFournisseur avec 2 sous-formulaires

Bonjour à tous,

Voilà, j'ai crée une base de données pour gérer nos achats fournisseurs.

Je peux saisir les bons de livraison de nos achats fournisseurs, qui contiennent 1 ou plusieurs articles.

Cela fonctionne bien.

Je souhaiterais maintenant saisir les factures fournisseurs que nous recevons.
Le contenu des factures correspond aux bons de livraisons qui ont été saisis auparavant.
Je voudrais donc, lors de la saisie d'une facture par formulaire, récupérer le (ou les) bons de livraisons qui sont enregistrés dans ma base, et pouvoir indiquer que ce (ou ces) bons de livraisons ont été facturés.
Je veux en quelque sorte "appeler" le ou les bons de livraisons" pour constituer les lignes de détails de ma facture.

Je débute en access, déjà pas mal de chemin parcouru (notamment grâce à des recherches sur ce site dont je remercie tous les contributeurs). Grâce à l'aide de Richard35, j'ai pu finaliser les relations à mettre en place.

Malheureusement, après pas mal de recherches et de tentatives, je n'arrive pas à créer le formulaire pour saisir mes factures achat.
Je pense qu'il me faut 2 sous-formulaires (?), mais je n'arrive pas à le construire.

A mon avis, j'ai besoin :
- formulaire principal sur les données de ma tblFacturesFournisseurs
- sous-formulaire sur les données de ma tblBL
- sous-formulaire sur les données de ma tblDétailsBL

J'ai essayé mais les requêtes ne fonctionnent pas

Mais j'hésite, je ne crois pas que je raisonne bien.

On trouve beaucoup d'exemples pour gérer les commandes, les produits etc... Mais je ne trouve pas d'exemple pour dans un sous-formulaire "appeler les BL du fournisseur choisi dans le formulaire principal, et afficher aussi les lignes détails des BL.


Merci par avance à ceux qui voudront bien m'apporter leurs lumières, leur aide, ou leurs corrections sur mon raisonnement.

Bonne journée à tous,
Fichiers attachés
Type de fichier : zip Gestion des achats fournisseurs.zip (314,1 Ko, 13 affichages)
fifine555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 17h12   #2
Invité de passage
 
Inscription : septembre 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 12
Points : 1
Points : 1
Bon,

A force d'essais, j'ai réussi à créer un formulaire FacturesFournisseur avec un sous-formulaire qui reprend les infos BL et détails des lignes des BL, à l'aide d'une requête.

Donc à priori, pas besoin de 2 sous-formulaires...

Si un utilisateur expérimenté pouvait jeter un coup d’œil à ce formulaire et me dire ce qu'il en pense, ce serait sympa...

http://www.cijoint.fr/cjlink.php?fil...cij3K2Lxyt.zip
fifine555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 00h56   #3
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut Utiliser la TableBL pour les LignesFactures

Bonsoir
Une suggestion:
Le principe:

Rajouter à ton fichier TableBL la Ks_N°Facture

Faire un FormContinuChoixBL (que tu ouvre en Indépendant Modal)
alimenté par une RequêteBL1 Critère: Ks_N°Facture=Null
Le Formulaire Continu te permet de mettre un Bouton par Ligne
Pense à Vérouiller la modification BL

Un FormFacture
avec son SousFormFacture (alimenté par une RequêteBL2)
Tes Klés de Liaisons sont K_N°Facture/Ks_N°Facture

Quand tu ClickBouton sur tonBL Choisi tu envoies en même temps la Ks_N°Facture
dans ta TableBL et tu Requery la RequêteBL1 et aussi celle de ton SousFormFacture :RequêteBL2
Ton BL apparait alors dans ton SousFormFacture et Disparait du FormContinuChoixBL

Dans cette solution:
Tu ne pourras pas facturer 2 fois un BL (c'est ce qu'on veut)
l'Intégité Référentielle Facture/BL n'est pas gérée mais tu peux stocker le TotalBL dans TableFacture
Ne pas oublier en cas de suppression de Facture de faire la mise à jour de ton fichier BL (SQL)
Tu vas aussi avoir à gérer les touches Clavier (Suppr,F5,Tab,Echap,Del<--)

A+
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 10h25   #4
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut Rectificatif

Bonjour

petit rectificatif :
Citation:
Faire un FormContinuChoixBL (que tu ouvre en Indépendant Modal)
Indépendant Oui ; Modal :Non

Bonne journée
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 11h06   #5
Invité de passage
 
Inscription : septembre 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 12
Points : 1
Points : 1
Bonjour Symbabeauchat,

Tout d'abord, merci beaucoup pour ta réponse, c'est sympa d'avoir pris le temps de regarder !!!

Ensuite, euh, eh bien, vu ta réponse, cela ne m'étonne pas que je n'y sois pas arrivée seule !!!

A vrai dire, je sèche dès la première ligne, car je ne comprends pas très bien ce qu'est le champ Ks_N°Facture.

Plus loin, tu indique une liaison entre K_N°Facture et Ks_N°Facture, mais où faut-il mettre K_N°Facture ?

Désolée si tes explications paraissent simple pour la plupart, mais pour moi, c'est pour l'instant un tit peu flou !

Si tu peux m'apporter quelques précisions, ce serait cool

Merci, et bonne journée
fifine555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 09h23   #6
Invité de passage
 
Inscription : septembre 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 12
Points : 1
Points : 1
Par défaut Formulaire continu

Bonjour à tous, malgré beaucoup de temps passé hier, je ne suis pas arrivée à faire le formulaire continu proposé par symbabeauchat...

Si une âme compatissante peut m'éclairer et davantage me détailler la marche à suivre, ce serait vraiment sympa...
fifine555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 17h15   #7
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Bonjour

Peux tu péciser le but final de ton Appli ?
Tes Tables ?

Par exemple lorsque tu veux faire une Facture Fournisseur,tes Lignes seront constituée uniquement des BL ou veux tu y faire apparaître en plus les Articles ?

Nécessité de saisir les Articles ?

C'est important de bien cerner ce que tu veux faire au départ.

Formulaire Continu :Feuilles Propriété/Format/Affichage par défaut
J'utilise K_ pour indiquer une Klé Primaire :côté Un de la relation
Ks_ pour Klé Secondaire:côté Plusieurs de la relation
ex : K_Facture (Peut être un compteur qui Identifie de manière Unique Une Facture)

Donc si tu rajoutes le champ Ks_Facture à ta TableBL,Une Facture pourra être mise en relation avec ses BL
Donc les Klés de Liaison sont :K_Facture(de T_Factures) et Ks_Facture(de T_BL)

Attention:dans ce cas tu ne peux pas appliquer l'Intégrité Référentielle mais
utilise Type de Jointure/Propriétés de la Jointure :option 2 (la petite flèche pointe vers T_BL)

Bon maintenant pour que ça marche il faut charger le champ Ks_Facture
avec K_Facture. Right?
Donc tu créés Un FormPrincipalFacture Alimenté par RequêteFacture(T_Facture)

Un SousFormulaireFacture celui ci en Continu Alimenté par RequêteBL2(T_BL)
et tu poses dans l'Entête un Bouton :B_OuvreFormChoixBL

Tu Créés le FormChoixBL en Continu Indépendant Alimenté par RequêteBL1(T_BL)mais avec Critère: Ks_Facture=Null
Donc cette requête affiche tous les BL non Facturés (c'est bien pour faire un choix)

Comme c'est un Form Continu tu poses dans la partie Détail un Bouton B_XFertKléFacture
Code :
1
2
3
4
5
6
7
8
9
Private Sub B_XFertKléFacture_Click()
 
'Je Récupère la K_Facture du FormPrincipalFacture et l'Affecte a la Ligne Choisie du FormChoixBL
Me.K_Facture = Forms![FormPrincipalFacture]![K_Facture]
Me.Requery 'Fait Disparaître le BL Séléctionné 
Forms![FormPrincipalFacture]![SousFormulaireFacture].Form.Requery 'fait  apparaître le BL dans _
                                                                le SousFormFacture du Form PrincipalFacture
 
End Sub
et aussi les autres champs comme Libellé,Montant (impératif Ks_Facture doit y figurer même en invisible)

Bon voici pour le principe dans ses grandes lignes
J'espère que je me suis fait comprendre
En gardant à l'esprit que ce n'est pas THE solution mais une parmi...
A+
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 15h58   #8
Invité de passage
 
Inscription : septembre 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 12
Points : 1
Points : 1
Bonjour Symbabeauchat,

Merci pour tes explications détaillées qui m’éclaircissent mieux tes précédentes idées. (Désolée de ne pas avoir répondu plus tôt, mais j'étais absente pour qqes jours..)

Ce que je ne saisis pas trop, c'est au niveau de K et Ks_Facture que tu me proposes de créer.

En effet, j'ai déjà dans mes tables BL et Factures un champ numéro Auto, et on ne peut pas en mettre 2 dans une même table... Comment vais-je donc "alimenter" ces champs selon toi ?

Merci et bonne fin de journée...
fifine555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 17h42   #9
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Bonjour et bon retour

Citation:
Ce que je ne saisis pas trop, c'est au niveau de K et Ks_Facture que tu me proposes de créer.
Petite mise au point:
J'ai l'habitude de créer mes Clés sous la Forme K_maclé comme ça je les repère facilement(enfin pour moi K_ pour Key) mais je crains que cela pose d'inutiles soucis de compréhension ou de lisibilité.
Donc:
la CléSecondaire_NumeroFacture à créer(en plus de ta CléPrimaire_Auto) dans ta tblBL est la clé pour créer la relation avec ta tblFacturesFournisseur

Une Facture fournisseur est constituée de plusieurs BL
Citation:
Je veux en quelque sorte "appeler" le ou les bons de livraisons" pour constituer les lignes de détails de ma facture.
CléPrimaire_NumeroFactureFournisseur(Auto) côté Un
CléSecondaire_NumeroFacture(Numérique EntierLong) côté plusieurs

Propriété de la Relation :
Ne pas cocher Appliquer l'IntégitéRéférentielle mais
Type de Jointure Option 2 (La petite flèche pointe vers tblBL CléSecondaire_NumeroFacture)
Il faut garder à l'esprit que tu créés d'abord les Lignes et qu'après tu les relies à une facture

Après tu peux créer tes 2 Requêtes

Tu peux même lors de la création d'une FactureFournisseur limiter le choix des BL à celui du Fournisseur que tu fais la Facture (cela sous entend que tu aies une tblFournisseurs et aussi une CléSecondaire_Fournisseur dans ta tblBL)

Ta Requête de ChoixBL aura donc 2 critères:
sur le champ CléSecondaire_NumeroFacture Critère =Null
sur le Champ CléSecondaire_Fournisseur Critère =Forms![FormulairePrincipalFacture]![CléprimaireFournisseur]
Est ce plus clair?

Bonne soirée
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 00h25   #10
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut Je te renvoie ton fichier modifié

Bonsoir

Je te renvoi ton fichier Zip avec les modifications que je t'ai proposées

Bonne lecture
Fichiers attachés
Type de fichier : zip Gestion des achats fournisseurs V2.zip (107,1 Ko, 9 affichages)
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h49.


 
 
 
 
Partenaires

Hébergement Web