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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| Private Sub CtlTab48_Change()
Dim strWhere As String
On Error GoTo gestionerreurs
'--- On déclare les variables
Dim strSQL As String
Dim qdf1 As QueryDef
Dim qdf2 As QueryDef
Dim A As String
Dim pos As Long
'--- On ouvre les deux requêtes
Set qdf1 = CurrentDb.QueryDefs("rqt General Bis")
Set qdf2 = CurrentDb.QueryDefs("rqt General")
'--- On efface le where de qdf
qdf2.SQL = qdf1.SQL
qdf1.Close
Set qdf1 = Nothing
'--- On crée un nouveau where
strWhere = " WHERE ("
'--- Liste de l'assemblée générale
If Me!CtlTab48 < 1 Then
Select Case Right(strWhere, 1)
Case Is = "("
strWhere = strWhere & "[Présence]="
End Select
End If
If Me!CtlTab48 = 1 Then
Select Case Right(strWhere, 1)
Case Is = "("
strWhere = strWhere & "[Présence]=true"
End Select
End If
If Me!CtlTab48 > 1 Then
Select Case Right(strWhere, 1)
Case Is = "("
strWhere = strWhere & "[Présence]="
End Select
End If
'--- Mise en place du where
strWhere = strWhere + " ) order by [tbl adhérent].réfposte DESC;" 'On ferme la parenthèse du Where et on ajoute le trie "Order By"
If strWhere <> " WHERE ( ) order by [tbl adhérent].réfposte DESC;" Then
Debug.Print strWhere
'--- Cas ou on à sélectionné au moins un critère
A = qdf2.SQL ' copie le contenu de la requete dans A
'Debug.Print A
A = Replace(A, ";", " ") 'On surprime le ";" qui se trouve à la fin de la requete et qui indique que la requete est fini
A = Trim(A) 'On suprime les espace dans les coté de la requete [facultatif]
Debug.Print A
'--- On ajoute le where
qdf2.SQL = A + strWhere
Debug.Print qdf2.SQL
Else
'--- Cas ou on à pas sélectionné un critère
strWhere = " order by [tbl adhérent].réfposte;"
Debug.Print strWhere
A = qdf2.SQL
A = Replace(A, ";", " ")
A = Trim(A)
qdf2.SQL = A + strWhere
Debug.Print qdf2.SQL
End If
Me.[sfm Adhérent].Requery
qdf2.Close
Set qdf2 = Nothing
Exit Sub
gestionerreurs:
End Sub |
Partager