Une requette sur SQL Server 2008 et Visual Basic - SQL/NoSQL - Programmation
Marsh Posté le 09-06-2009 à 12:05:21
si tu veux qu'on t'aide, envoie la structure de tes tables, et soit plus clair, la perso j'ai rien compris.
Marsh Posté le 09-06-2009 à 12:08:50
Citation : Comment Faire ?????????????????????????????? |
Avec une ou plusieurs requêtes de type SELECT. Où est la difficulté ? Est-ce de faire un SELECT, ou de faire une jointure, ou de savoir quelle jointure faire ?
Marsh Posté le 09-06-2009 à 14:15:58
Merci de vos réponse
voila la structure de mes tables (l'intégrité entre les tables est [ 1 -> n]):
Du coter Client: |Client|->|Commande Client|-> |Ligne Commande Client|->|Mouvement Sortie|
Du Coter Fournisseur: |Fournisseur| -> |Commande Fournisseur|-> |Ligne Commande Fournisseur| -> |Mouvement entrer|
(Même niveau que fournisseur) |Acheteur|
les tables Mouvements qui contiennent les champs (ID mouvement, Date, Quantité, Emplacements affecter) sont rattacher:
- table Produit qui contient les champs (Id Produit, Désignation, Marque, Taille, Poids, Prix_Achat, Prix_Vente)
- table Emplacement qui contient les champs (Id emplacement, Code_Emplacement, disponibilité (booléen), Poids1,Taille1,Type Emplacement)
- table Stock (ID Stock, Nom Stock, Adresse Stock)
Moi je veux gérer les emplacements dynamiquement:
Un produit entre en stock alors je suis sur la table MOUVEMENT ENTRER je bip le produit, je choisi un type d'emplacement et je lui affect un emplacement mais les emplacements c'est le programme qui me l'ai propose en fonction des critère de recherche
le premier critère Type d'emplacement ce qui filtre les emplacements sur le type que j'ai sélectionner.
Puis un deuxième filtre sur les emplacements disponible 0
Après il compare les critères poids et taille du produit biper avec les critères de la table emplacement résultante poids1 et taille1 et il me propose la colonne des "code_emplacement" des emplacements qui au moins un seul de ces critères qui correspond et il me les propose dans une LISTEBOX que je puisse en sélectionné.
Après la sélection le code emplacement s'enregistre dans la colonne (emplacement_affecter) dans la table mouvement entrer et la valeur de la colonne disponibilité de cette emplacement change dans la table emplacements
et puis le contraire dans le mouvements sortie mais sont sélection des produit juste avec le bipage des produits la colonne disponibilité de la table emplacement change de valeur 0
Remarque importante: je travail avec SQL server 2008 et Visual Studio 2008 PRO SP1 et je géré l'interface graphique avec du Visual Basic
Merci a tous j'attends impatiemment vos réponse
Marsh Posté le 09-06-2009 à 15:09:19
Est-ce un problème de conception ou de programmation ? De quel côté (coter ?!) ?
Marsh Posté le 09-06-2009 à 15:55:15
c'est un problème de de programmation j'ai fait tous mes forms et il me reste a faire les faire les forms de gestion de stock Mouvement entrer et sortie
En détail le forms sera comme ca :
un champ textbox ou le curseur sera activer le magasinier bip la commande Fournisseur et le numéro de BL correspondant s'affiche dans une autre textbox après la commande apparait il bip les produits reçu un par un ce qui vérifie la quantité des produits et assure de la validation de la commande mais ne bloque pas le processus d'entre en stock et en même temps qu'il bip le produit le logiciel lui propose un emplacement il en choisi un
Alors ma question comment automatiser ce processus de proposition d'emplacement et comment le réaliser
Marsh Posté le 09-06-2009 à 16:06:39
Bonjour,
olivthill, pataluc si vous n'avez pas bien compris mon sujet vous pourrez m'envoyer vos mail et je vous envoie le shema de la base de données complet et puis je vous dirai ou je suis sur mon projet merci
Marsh Posté le 09-06-2009 à 16:28:08
Désolé, mais cela représente sans doute beaucoup de travail, et le but du forum n'est pas de faire le travail à la place de quelqu'un d'autre, mais de l'aider à passer un obstacle. Le problème ici, est que l'obstacle n'est pas visible. Au milieu de toutes la masse de vos explications, je n'arrive pas à voir le point précis sur lequel vous butez. Peut-être qu'il y a plusieurs points. Dans ce cas, il faudrait y aller progressivement en prenant un point après l'autre, au lieu de tout nous livrer en vrac.
Quel est votre niveau ? Est-ce que vous avez déjà fait des requêtes de type SELECT sur une seule table ? sur plusieurs tables ? Est-ce que vous connaissez les jointures ?
Enfin, je vais me répetter, mais est-ce un problème de conception (d'analyze) ou de programmation ? En informatique, on a l'habitude de différencier ces deux parties.
Marsh Posté le 09-06-2009 à 17:25:10
Merci
Mais je suis débutant et je sais faire des jointures sur des tables de type iner join ou simplement join mais je travaille essentiellement sur VB.NET 2008 et j'ai la possibilité de faire des requête a l'aide LINQ comme par exemple
Dim AllFournisseurs = From Fournisseur In Me."nom du dataset.Fournisseurs _
where Fournisseur.Nom_fournisseur LIKE ME.TextBox.text ="*"
select Fournisseur
Je comprend parfaitement que c'est vaste mais c'est une seul commande je bip et il doit filtrer comprarer et retourner une valeur te c'est pour ca que j'ai pas pu le séparer en forme de petite commande
certe sur SQL je sais pas comme marche les triggers ou les Fonctions ou plutot comment les rendre evenmentielle
Alors pour commencer voila c'est un exemple de LINQ est ce que je pourrai regrouper toute cette commande en un seul LINQ j'ai deja essayer mais ca ne marche pas
Alors au tous debut comment filter sur deux niveau une table avec du LINQ?
Marsh Posté le 09-06-2009 à 19:02:06
Comment pouvait-on deviner que c'était du VB Net avec LINQ ?
Enfin maintenant on le sait, et la question devient claire.
Malheureusement, je ne connais pas LINQ, mais dans la documentation de Microsot, on trouve des exemples de jointure :
Joins
Most queries against object models heavily rely on navigating object references in the object model. However, there are interesting "relationships" between entities that may not be captured in the object model as references. For example Customer.Orders is a useful relationship based on foreign key relationships in the Northwind database. However, Suppliers and Customers in the same City or Country is an ad hoc relationship that is not based on a foreign key relationship and may not be captured in the object model. Joins provide an additional mechanism to handle such relationships. LINQ to SQL supports the new join operators introduced in LINQ.
Consider the following problem—find suppliers and customers based in the same city. The following query returns supplier and customer company names and the common city as a flattened result. This is the equivalent of the inner equi-join in relational databases:
Dim customerSuppliers = From sup In db.Suppliers _ |
Bonne chance !
Edit : Dans votre tentative de code,
Dim AllFournisseurs = From Fournisseur In Me."nom du dataset.Fournisseurs _ |
il manque donc la ligne du ON ... et il manque le trait de soulignement à la fin des lignes (sauf la dernière) qui indique que l'instruction continue sur la ligne d'après.
Marsh Posté le 09-06-2009 à 10:02:02
J'ai construit une base de donnée assez simple mais qui contient une complexité, en gros mes tables sont les suivantes coter CLIENT : "Client ", "Commande Client ", "Ligne Commande Client '," Produit "; et puis du coter ACHAT : "Acheteur ", "Fournisseur ", "Commande Fournisseur ", (qui est liée en même temps avec les tables Acheteur et Fournisseur ) "Ligne Commande Fournisseur ", Produit (même table produit que pour les Clients) la table produit et reliée avec deux table "Mouvements " (Entrer/Sortie) et Ces tables Mouvements sont reliées a une table Stock et une table Emplacement
En une phrase c'est un filtre par rapport a deux critères dans une tables "EMPLACEMENT" (Disponibilité (0 ou 1) et Type), après le filtrage une comparaison entre deux tables Emplacements et Produits ( sur 2 colonnes POIDS et TAILLE) et renvoi les valeurs de la colonne CODE EMPLACEMENT de la table EMPLACEMENT des tuples qui correspondent a la comparaison ces valeurs apparaitrai dans une liste BOX et qu'il soit possible de les sélectionner pour qu'il s'inscrive dans la table MOUVEMENT sur la ligne ou le focus et activer et après sélection la colonne DISPONIBILITÉ des emplacements sélectionnaient se modifie pour passer a une valeur booléenne (0 ou 1)
Comment Faire ??????????????????????????????
Aidez moi S.V.P C'est URGENT
Édité par Elmoricq : les titres de type "HYPER URGENT" sont interdits, cf. règles de la catégorie
Message édité par Elmoricq le 09-06-2009 à 10:03:18