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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Private Sub TransposerElement(lstSource As ListBox, lstDestination As ListBox, _
Optional LimiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
Dim i As Integer
Dim Db As DAO.Database
Set Db = CurrentDb
With lstSource
'S'il ne faut déplacer que les élements sélectionnés,
If LimiteSelection Then
For i = 0 To .ListCount - 1
'si l'élement est sélectionné dans la liste source,
'inverse le champ selection
If .Selected(i) Then
'Si bolselection, ajoute l'élement
If bolSelection Then
Db.Execute "INSERT INTO [maladie/methode/agent] ([Clef_m/m], Clef_agent)VALUES (MMA," & _
Chr(34) & .Column(0, i) & Chr(34) & ")"
Else
'Sinon, le supprime
Db.Execute "DELETE FROM [maladie/methode/agent] WHERE [Clef_m/m]= MMA AND [Clef_agent]=" & _
Chr(34) & .Column(0, i) & Chr(34)
End If
End If
Next i
'sinon, permutte la globalité
Else
If bolSelection Then
Db.Execute "INSERT INTO maladie/methode/agent SELECT " & _
"[Clef_agent] FROM ref_agent"
Else
'Sinon, le supprime
Db.Execute "DELETE FROM maladie/methode/agent"
End If
End If
'Rafraichit la zone de liste source
.Requery
End With
'Rafraichit la zone de liste destination
lstDestination.Requery
End Sub |
Partager