J'ai une instruction Select dans mon application VB6....

Voici à quoi cela ressemble.....

Dim str As string

str = "SELECT CompID, Department from tblCompanies " & _ 
      "Where CompID in (123, 234, 345, 456) " & _
      "Order by CompID "

Donc, ce que j'essaie de faire ici, c'est d'ajouter une instruction CASE WHEN à la clause WHERE - en gros, je cherche à ajouter une chaîne à chaque nom de département, en fonction du COMPID. Je dois donc spécifier que ce sont les COMPID que je veux sélectionner, alors je veux faire quelque chose comme

 Case when CompID = 123 Then ----ADD "GC" to that Department Name

Je suppose que je dois le faire avant d'ouvrir mon jeu d'enregistrements avec

rs.open str, g_CN, adOpenStatic

Parce qu'une fois qu'il est ouvert, il semble me donner des erreurs lorsque j'essaie de le modifier.

Dans l'ensemble, si mon jeu d'enregistrements ressemble à ça...

Accounting
Finance
IT
R&D

J'essaie de faire en sorte que ça ressemble

"GC" - Accounting
"GC" - Finance
"BP" - IT
"DC" - R&D
1
BubbaSparxx 5 juil. 2016 à 16:24

2 réponses

Meilleure réponse

Changez-le en,

Dim str As string

str = "SELECT CompID, CASE WHEN CompID IN (123,234) THEN 'GC' " & _
                " WHEN CompID = 345 THEN 'IT' " & _
                " WHEN CompID = 456 THEN 'DC' " & _
                " ELSE '' END + ' - ' + Department AS Department from tblCompanies " & _ 
      "Where CompID in (123, 234, 345, 456) " & _
      "Order by CompID "
1
Jatin Patel 5 juil. 2016 à 16:32

Essaye ça:

str = "SELECT CompID, CASE WHEN CompID = 123 THEN '""GC"" - ' ELSE '' END + Department  As Department from tblCompanies " & _ 
      "Where CompID in (123, 234, 345, 456) " & _
      "Order by CompID "
0
Zohar Peled 5 juil. 2016 à 16:31