Tom's Guide > Forum > Programmation > Visual Basic créer un filtre sur plusieurs variables ???

Visual Basic créer un filtre sur plusieurs variables ???

Forum Programmation : Visual Basic créer un filtre sur plusieurs variables ???

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour tous le monde je vous explique mon problème:

(Je travail sur une base de données firebird)

Donc une foi la requête SQL réalisé j'obtiens premièrement dans une liste plusieurs types (1 ou 2), et ce que je souhaite c'est pouvoir récupérer tous les types (ou le type) qui n'ont pas été sélectionner dans la requête du dessus pour pouvoir les utilisé dans la suite..


Je fait un exemple

Dans ma table TYPES, j'ai ceci : type1, type2, type3, type4, type5, type6
Requête SQL qui me renvoie ceci : type2 et type3


Je souhaite récupérer => type1, type4, type5, type6


Si vous ne comprenez pas vraiment ce que je souhaite dite moi ce que vous avez besoin de savoir pour m'aider, car je cherche depuis 2 jours et google n'est pas vraiment mon ami.

PS: pour info je suis en stage de première année de BTS et n'est jamais appris le VB, soyez pas trop pro avec les explications svp.


Message édité par callofduty2 le 16-06-2009 à 11:15:40
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Bonjour,

Je comprend pas très bien...
Dans la requête qui te donne type2 et type3 tu utilises une clause WHERE avec des conditions qui te donnent le présent résultat.

Pour obtenir le reste, pourquoi ne pas utiliser la condition contraire ?

------------------------------ Forum d'entraide informatique (usage quotidien, développement, conseils, discussions...) : www.maverick-zone.fr/forum - Inscrivez-vous !
Répondre à maverick911

Oui j'utilise le WHERE pour obtenir le résultats, j'avais pensé utilisé le NOT IN pour avoir le contraire seulement je vois pas comment le faire car je peux avoir 1 ou plusieurs types a passer en variables dans ma requête est ce possible ? Et comment ?

Répondre à callofduty2

Si ta première requête ressemble à :
SELECT * FROM types WHERE critere = 'test'
La requête :
SELECT * FROM types WHERE critere != 'test'
Te donnera l'inverse des résultats.

L'utilisation des sous requêtes (NOT IN) n'est pas justifiée dans ton cas...
... ou alors je n'ai toujours pas compris ton problème :)

Tu peux poster ton code SQL et ton code VB ? Ca m'aiderait à te répondre

------------------------------ Forum d'entraide informatique (usage quotidien, développement, conseils, discussions...) : www.maverick-zone.fr/forum - Inscrivez-vous !
Répondre à maverick911

Donc voici un exemple sur lequel je travail.
Il existe (pour l'instant) que 3 types possible (mais l'évolution est à prévoir)
' CodeCommande 'est un numéro de commande il peut avoir les 3 types
Afin de savoir ce qui a déjà été enregistré
J'ai ce code

Code :
  1. SELECT id, contrat, types FROM contrat WHERE contrat='"& CodeCommande &"'



résultat :
> commande n°1 à le type A
> commande n°1 à le type B


Donc maintenant je souhaiterai avoir un résultat qui me donne seulement le " type C " car c'est le seul qui n'a pas été enregistré pour la commande n°1.
Désoler j'ai un peut de mal à exprimer l'idée.. :sweat:

Répondre à callofduty2

Ah ok je commence à mieux comprendre :)
Si je comprend bien donc ton champ "types" contient tous les types de la commande ?

Par exemple le contenu de ta table contrat peut ressembler à ceci :
ID CONTRAT TYPES
1 Commande 1 type1,type2
2 Commande 2 type3

??

------------------------------ Forum d'entraide informatique (usage quotidien, développement, conseils, discussions...) : www.maverick-zone.fr/forum - Inscrivez-vous !
Répondre à maverick911

Enfaite c'est bon ! Mon maître de stage m'avait pas montré la totalité de la base de données et il y avait une table TYPE donc j'ai fait une requête imbriqué et j'obtient le résultat voulu.. désolé de t'avoir fait perdre ton temps mais tu m'a mis sur la voie pour la requête contraire, merci a toi maverick911 !

Répondre à callofduty2

Ah de rien, content que tu ait trouvé la solution :)

J'ai cependant une petite remarque :
Si tu as en plus de tes tables "contrats" et "types", une table de jointure "types_contrats" qui contient l'association entre les PK de tes tables "contrats" et "types", tu pourras effectuer des requêtes avec jointures, ce qui est plus rapide que des requêtes imbriquées, du moins sur les grosses tables.

------------------------------ Forum d'entraide informatique (usage quotidien, développement, conseils, discussions...) : www.maverick-zone.fr/forum - Inscrivez-vous !
Répondre à maverick911

Remarque approuvé en effet ! Merci de ce petit plus.

Répondre à callofduty2
Tom's Guide > Forum > Programmation > Visual Basic créer un filtre sur plusieurs variables ???
Aller à :

Il y a 2546 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens