Bonjour,

J'ai lu de nombreux message mais sans y trouver une réponse adaptable à mon problème (notons que je débute dans l'utilisation d'access).

J'ai créé un formulaire avec plusieurs listes déroulantes qui me permettent de créer une requete SQL en VBA: code ci dessous. Or, dans ce type de code, je ne peux pas utiliser la fonction doCmd.RunSQL. Comment puis je exécuter cette commande simplement. En outre, si j'utilise un lien avec des critères d'une requete préenregistrée, se pose le problème si je ne souhaite pas filtrer sur l'un des champs. Enfin, je cherche à afficher mon résultat dans un rapport.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Private Sub Commande45_Click()
 Dim SQL As String
 
 
SQL = "SELECT total_entreprise.NUMERO_APPEL, total_entreprise.Raison," & _
"total_entreprise.Adresse, total_entreprise.[Code postal], total_entreprise.Ville," & _
"total_entreprise.Département, total_entreprise.CST, total_entreprise.Effectifs," & _
"total_entreprise.[Masse salariale], total_entreprise.[Type de dossier]," & _
"total_entreprise.[Versement total], total_entreprise.FNDMA, total_entreprise.[Taxe CDA]," & _
"total_entreprise.[Affecté A], total_entreprise.[Affecté B], total_entreprise.[Affecté C]," & _
"total_entreprise.[Affecté quota obligatoire], total_entreprise.[Affecté quota]," & _
"total_entreprise.[Libre A], total_entreprise.[Libre AB], total_entreprise.[Libre B]," & _
"total_entreprise.[Libre BC], total_entreprise.[Libre C]," & _
"total_entreprise.[Libre Non Soumis], total_entreprise.[Libre Quota]" & _
"FROM total_entreprise WHERE total_entreprise.Effectifs <> 0 "
 
 
 If Me.coche_effect = True Then
    SQL = SQL & "AND total_entreprise.Effectifs BETWEEN " & Me.Effect_entre & " AND " & Me.effect_et
 End If
 If Me.coche_masse = True Then
    SQL = SQL & "AND total_entreprise.[Masse salariale] BETWEEN " & Me.masse_entre & "AND " & Me.masse_et
 End If
 If Me.coch_cst = True Then
    SQL = SQL & "AND total_entreprise.CST ='" & Me.list_cst & "'"
 End If
 If Me.coch_cp = True Then
    SQL = SQL & "AND total_entreprise.[Code postal] ='" & Me.list_cp & "'"
 End If
 If Me.coch_dept = True Then
    SQL = SQL & "AND total_entreprise.Département ='" & Me.list_dept & "'"
 End If
 
SQL = SQL & " ;"
 
 
DoCmd.RunSQL SQL
 
End Sub


par avance merci