Bonjour,
j'utilise dans mon bdd une formulaire multi-critères, comme trouver ici sur le site.
ça fonctionne très, très bien, mais, quand je entre une critère de recherche, il m'affiche tout les résultats dans la base entière. Par contre, j'aimerai voir uniquement les articles que j'ai effectivement EN STOCK.
Dans mon bdd, j'ai une table Marchandises et une table Détail Stock. La table Marchandises contient toutes les références marchandises unique et la table Détail Stock toutes les opérations IN / OUT.
J'ai changé donc la recherche sql comme ceci :
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 Private Sub RefreshQuery() Dim sql As String Dim SQLWhere As String sql = "SELECT DetailStock!N°IdProduit, Marchandises![Numéro d'article], Marchandises!Désignation, Sum((nz([Mouvements]))-nz([Sortie])-nz([Perte])) AS Stock FROM Marchandises INNER JOIN DetailStock ON Marchandises!N°IdProduit = DetailStock!N°IdProduit Where Marchandises![N°IdProduit] <> 0 GROUP BY DetailStock!N°IdProduit, Marchandises![Numéro d'article], Marchandises!DésignationMarchandises" If Not Me.chkFamille Then sql = sql & "And Marchandises![IdFamille] like '" & Me.txtRechFamille & "'" End If If Not Me.chkArticle Then sql = sql & "And Marchandises![Numéro d'article] = '" & Me.cmbRechArticle & "' " End If If Not Me.chkFournisseur Then sql = sql & "And Marchandises![N°Fournisseur] like '*" & Me.txtRechFournisseur & "*' " End If If Not Me.chkDesignation Then sql = sql & "And Marchandises![Désignation] like '*" & Me.txtRechDesignation & "*' " End If If Not Me.chkCodebarre Then sql = sql & "And Marchandises![Code barre] = '" & Me.cmbRechCodebarre & "' " End If SQLWhere = Trim(Right(sql, Len(sql) - InStr(sql, "Where ") - Len("Where ") + 1)) sql = sql & ";" Me.lblStats.Caption = DCount("*", "Marchandises", SQLWhere) & " / " & DCount("*", "Marchandises") Me.lstResults.RowSource = sql Me.lstResults.Requery End Sub
Malheureusement, ça m'affiche aucun résultat. Est-ce que quelqu’un peut m'aider avec ce problème, car c'est un peu complexe pour moi.
Merci d'avance pour vos remarques.
Hans
Partager