Bonjour à tous,
Ci-dessous le code pour mettre à jour un sous formulaire Me.SF_rechercheClients. Le problème c'est la sélection d'une date dans la liste déroulante ChoixValeur n'introduit pas les renseignement du client dans le formulaire et aussi un champ boléen. Sinon pour le numérique et le texte tous marche. Y a t'il quelqu'un qui peut me renseigner. Merci d'avance
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53 Private Sub ChoixValeur_AfterUpdate() Dim ChampFiltre As String, Condition As String Dim MonSQL As String, NbEnreg Dim DateE As Date 'affecte le nom du champ sélectionné 'sur la liste déroulante ChoixChamp 'à la variable ChampFiltre ChampFiltre = Me.ChoixChamp 'affecte la valeur sélectionnée 'sur la liste déroulante ChoixValeur 'à la variable condition Condition = Me.ChoixValeur 'Teste si le code filtré est le studio 'car c'est le seul champ de type numérique 'dans la table Clients 'La clause WHERE doit être traitée différemment 'sur un champ Numérique et sur un champ Texte If ChampFiltre = "Studio" Then MonSQL = "SELECT * FROM Clients Where " & ChampFiltre & " = " & Condition 'ElseIf permet de créer des tests multiples 'ex: dans ce contexte les champs sont ou Integer ou Date ou String 'Il faut donc énumérer toutes les types de données. ElseIf ChampFiltre = "Number" Then MonSQL = "SELECT * FROM Clients Where " & ChampFiltre & " = " & Condition ElseIf ChampFiltre = "CodeTitre" Then MonSQL = "SELECT * FROM Clients Where " & ChampFiltre & " = " & Condition ElseIf ChampFiltre = "Comptecomptable" Then MonSQL = "SELECT * FROM Clients Where " & ChampFiltre & " = " & Condition ElseIf ChampFiltre = "DateE" Then MonSQL = "SELECT * FROM Clients Where " & ChampFiltre & " = " & Condition Else 'Dans le cas d'un champ de type Texte 'la condition WHERE doit inclure un certain nombre de guillemets ' ou d'apostrophes MonSQL = "SELECT * FROM Clients WHERE " & ChampFiltre & " = " & """" & Condition & """" End If 'attribue à la propriété RecordSource du sous-formulaire 'SF_RechercheClients 'l'intruction SQL nommé MonSQL Me.SF_rechercheClients.Form.RecordSource = MonSQL End Sub
Partager