Base exemple : Les comptoirs

Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013 - 8 août 2006 à 22:51
Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013 - 10 août 2006 à 15:57
Bonjour a tous.

Tous le monde connais bien la base de données exemple fourni avec Access : Les Comptoirs.

Il se trouve que cette base de données me conviendra parfaitement, mais il me manque un formulaire.
En effet, le formulaire de commande intégré a cette base de données est utilisé pour saisir des commandes clients.
J'aimerais ajouter exactement le même formulaire, mais à la place d'avoir la liste des clients en choix, je souhaiterais avoir la liste des fournisseurs et, plus compliqué (pour moi) la liste des article a commandé (achat) pour ce fournisseur uniquement.

Quelqu'un pourrait-il me venir en aide svp ?

D'avance merci.

9 réponses

Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013
8 août 2006 à 23:16
Je vois que beaucoup lise mais pas beaucoup réponde ! ^^
En fait, je recherche juste le moyen de faire un formulaire pour passer une commande d'article, mais les options qui me sont proposés avec l'assistant ne correspondent pas aux besoins du bon de commande ...
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 03:05
tu dis : "Je vois que beaucoup lise mais pas beaucoup réponde "

=> pourquoi ne t'auto-réponds tu pas ?
> parce que tu ne connais pas la réponse.

=> Pourquoi beaucoup lise mais pas beaucoup réponde ?
> parce que "beaucoup" ne connaissent pas la réponse.

C'est pas forcémment en 25 minutes que l'on trouve une réponse.
Pour infos, on ne peut pas faire le formulaire pour toi, nous pouvons tout simplement modifier du code erroné !

Cherche sur le site le "SQL"
Voit le code que tu as pour "la liste des clients en choix" et adapte la pour "la liste des fournisseurs" (Alt F11).
Une fois ceci fait, si problème, met nous ton code et on verra à ce moment.

++
0
Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013
9 août 2006 à 15:36
Bonjour,



[auteurdetail.aspx?ID= 647037 mortalino] => Merci d'avoir répondu et d'avoir commencé a m'aiguiller.




Le champs "Reffournisseur" est le suivant :
[Fournisseur].[RéfFournisseur]
=> Table.Champ = > (Clé primaire)
Dans mon formulaire, j'ai une liste modifiable, associé a cette table, me permettant de choisir un fournisseur.

Dans mon sous formulaire, j'ai une liste modifiable avec TOUS les produits stockés dans la table "Produits", trié par ordre croissant, d'ou l'instruction SQL suivante :
SELECT DISTINCTROW Produits.* FROM Produits ORDER BY Produits.NomProduit;




Je souhaiterais donc mettre un filtrer pour afficher dans la liste modifiable de mon sous formulaire uniquement les produits correspondant à mon fournisseur :


SELECT DISTINCTROW Produits.*, Fournisseurs.RéfFournisseur FROM Fournisseurs INNER JOIN Produits ON Fournisseurs.RéfFournisseur =Produits.[RéfFournisseur#] ORDER BY Produits.NomProduit;




A aucun moment, avec cette instruction, la liste modifiable du sous formulaire a comme ordre d'aller chercher la référence du fournisseur choisi dans le formulaire principale pour faire un tri.
C'est pourquoi je pense qu'a ce stade, la liste modifiable des produits affiche toujours la totalité des produit enregistrés et que la sélection des produits par rapport à la référence fournisseur choisi ne se fait pas.
... Et je ne sais malheureusement pas comment récupérer l'information du formulaire principal (Reffournisseur) pour me permettre de faire une sélection par rapport au fournisseur choisi.



[auteurdetail.aspx?ID=647037 mortalino]



Voici le code que tu as demandé  (Alt+F11 => Celui de la liste modifiable Produit du sous formulaire) :


Private Sub AfficherBonsCommande()
On Error GoTo Err_AfficherBonsCommande
    If IsNull(Forms![Produits]![RéfProduit]) Then
        MsgBox "Tapez les informations sur le produit avant de taper le bon de commande."
    Else
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        DoCmd.OpenForm "Bons de commande"
        If Me![RéfBonCommande] > 0 Then
            DoCmd.GoToControl "RéfBonCommande"
            DoCmd.FindRecord Me![RéfBonCommande]
        Else
            If Not IsNull(Forms![Bons de commande]![RéfBonCommande]) Then
                DoCmd.DoMenuItem acFormBar, 3, 0, , acMenuVer70
            End If
        End If
    End If

Exit_AfficherBonsCommande:
    Exit Sub

Err_AfficherBonsCommande:
    MsgBox Err.Description
    Resume Exit_AfficherBonsCommande
End Sub

=> Heuuuu ...... Bizarre !




Je n'ai pas l'impression que ce code est utilisé pour ce que je veux faire, si ?
0
Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013
9 août 2006 à 15:53
Quand on est un noob, ce qui est bien, c'est qu'on peut se rendre compte de ses propres co**eries !

Pour la référence Fournisseur de la table Produit, il ne s'agit pas de faire un lien entre RéfFournisseur de la table Fournisseur, mais bien de RéfFournisseur de la table [Bon de commande] ^^
Bon, ben je vais tester d'autres trucs, je pense être sur une meilleur voie quand même ... (Enfin, j'espère )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013
9 août 2006 à 16:03
Désolé pour le triple post, je ne savais pas qu'on ne pouvait pas éditer ses propres messages.

Avec un lien entre Bon de commande et Produit, j'ai l'instruction SQL suivante :


SELECT DISTINCTROW Produits.*, [Bons de commande].RéfFournisseur FROM [Bons de commande] INNER JOIN Produits ON [Bons de commande].RéfFournisseur=Produits.[RéfFournisseur#] ORDER BY Produits.NomProduit;

Et alors là, j'comprends vraiment pas pourquoi ça ne marche pas
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 16:07
Et tout simplement ceci, est-ce que ça fonctionne ? :

SELECT *
FROM [Bons de commande] INNER JOIN Produits ON [Bons de
commande].RéfFournisseur=Produits.[RéfFournisseur#] ORDER BY
Produits.NomProduit;

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013
9 août 2006 à 16:18
Perdu !

Avec cette instruction, il n'y a plus aucun produit dans la liste ...
0
Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013
9 août 2006 à 16:48
En fait, je pense savoir d'ou vient le problème.
Si je lance la requete du code SQL suivant
SELECT DISTINCTROW Produits.*, [Bons de commande].RéfFournisseur
FROM [Bons de commande] INNER JOIN Produits ON [Bons de
commande].RéfFournisseur=Produits.[RéfFournisseur#] ORDER BY
Produits.NomProduit;
la requête est parfaite, et affiche bien tous les produits de chacun des fournisseurs.

En revanche, dans cette instruction, rien ne lui dit d'aller chercher la RéfFournisseur du bon de commande en cours !!!
Je pense que c'est pour ça qu'il n'y a pas de tri par rapport au fournisseur précédemment sélectionné, car comme il n'y pas de sélection sur le fournisseur "en cours", la sélection se fait sur l'ensemble des fournisseurs ...
0
Energyser Messages postés 11 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 24 juillet 2013
10 août 2006 à 15:57
UP !!

Comment faire pour sélectionner une référence particulière sur un formulaire svp, afin de pouvoir faire une requête sélection avec un critère ?
0
Rejoignez-nous