[VBA] requête SQL par ItemsSelected
Salut a tous,
Je souhaite faire une requète SQL à partir d'une séléction dans un controle qui contient une liste de champs d'une table.
Voici sur le controle apres mise a jour; puis le code de la requète:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Private Sub Nom_Champ_AfterUpdate()
W_Sortie = ""
For Each Wcmp In Me.Nom_Champ.ItemsSelected
htm = Me.Nom_Champ.ItemData(Wcmp)
Next Wcmp
W_Sortie = W_Sortie & ", " & htm
Mise_En_Forme
End Sub
Private Sub Mise_En_Forme()
If W_Sortie = "" Then
W_Sortie = "*"
End If
If Left(W_Sortie, 2) = ", " Or Left(W_Sortie, 2) = "*," Then
W_Sortie = Mid$(W_Sortie, 3)
End If
If Left(W_Sortie2, 2) = ", " Or Left(W_Sortie2, 2) = "*," Then
W_Sortie2 = Mid$(W_Sortie2, 3)
End If
Me.StrSql = "Insert into TableDestination ( " & W_Sortie2 & " ) select " & W_Sortie & " from " & "" & Me.Nom_Table & ""
Me.La_Liste.RowSource = "Select " & W_Sortie & " from " & "[" & Me.Nom_Table & "]"
Me.La_Liste.RowSource = Me.La_Liste.RowSource & ")"
Me.StrSql = Me.StrSql & ""
End Sub |
Mon problème est que l'ordre d'apparition de mes champs dans la requète finale est l'ordre dans l'index du controle selon Wcmp; alors que je voudrais qu'ils apparaissent dans la requète finale selon l'ordre de séléction après sélection. Comment faire pour qu'en sélectionnant des champs dans une liste, ils arrivent dans l'ordre de sélection et non celui de la liste dans la requete. Merci d'avance