Bonjour,
J'ai réalisé un formulaire de recherche multicritère en suivant un tuto (Caféine) et en l'adaptant suivant mes besoins. Le formulaire est basé sur une requête reliant plusieurs tables.
Tout semble fonctionner sauf pour un critère (Altitude) car je souhaite sélectionner l'altitude comprise entre une valeur min et une valeur max. Lorsque je rentre mes valeurs d'altitude min et max, mon tableau de résultats devient blanc et les entêtes du tableau disparaissent (cf PJ). Il semble que les valeurs numériques ne soient pas reconnues et cela doit provenir de mon code VBA:
Est-ce que quelqu'un aurait une solution à mon problème.
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 Private Sub RefreshQuery() Dim SQL As String Dim SQLWhere As String SQL = "SELECT SiteID, Commune, Province, Terrestre, Aquatique, Altitude,[Organisation Contact], [Nom Contact] FROM rqtChercherSite WHERE SiteID Is Not Null " If Me.chkSite Then SQL = SQL & "And tblSite!SiteID like '*" & Me.cmbRechSite & "*' " End If If Me.chkCommune Then SQL = SQL & "And tblannxCommunes!Commune like '*" & Me.cmbRechCommune & "*' " End If If Me.chkProvince Then SQL = SQL & "And tblannxCommunes!Province like '*" & Me.cmbRechProvince & "*' " End If If Me.chkOrganisation Then SQL = SQL & "And tblContact![Organisation Contact] like '*" & Me.cmbRechOrganisation & "*' " End If If Me.chkContact Then SQL = SQL & "And tblContact![Nom Contact] like '*" & Me.cmbRechContact & "*' " End If If Me.chkSiteTerrestre Then SQL = SQL & "And tblSite!Terrestre like '*" & Me.chkSiteTerrestre & "*' " End If If Me.chkSiteAquatique Then SQL = SQL & "And tblSite!Aquatique like '*" & Me.chkSiteAquatique & "*' " End If If Not IsNull(Me.AltitudeMin) And Me.AltitudeMax <> "" Then SQL = SQL & "And tblSite!Altitude Between #" & Me.AltitudeMin.Value & "# And #" & Me.AltitudeMax.Value & "#" End If SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) SQL = SQL & ";" Me.lstResults.RowSource = SQL Me.lstResults.ReQuery End Sub
J'espère avoir été assez clair.
Merci
Partager