Formulaire de recherche

Fermé
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015 - 8 juin 2015 à 14:07
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015 - 15 juin 2015 à 08:08
Bonjour à tous,
Je suis débutant c'est la première fois que j'utilise du VB donc j'ai sans aucun doute écris des erreurs stupides...
Pour réaliser un formulaire de recherche j'ai suivi ce tuto :
http://learnup.fr/
tout fonctionne bien jusqu'à que j'arrive à la partie :
" Voici donc les codes à recopier pour les boutons, en événement 'Sur Clic' "(un peu après le milieu du tuto).
Après cette partie je ne vois aucune modification de mon formulaire même après avoir tapé tout le code de toutes les étapes...
Voici à quoi ressemble mon formulaire en pièce jointe.

Option Compare Database

Private Sub chkIngredients_Click()
If Me.chkIngredients Then
Me.cmbRechIngredients.Visible = False
Else
Me.cmbRechIngredients.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkCode_A_Click()
If Me.ChkCode_A Then
Me.cmbRechCode_A.Visible = False
Else
Me.cmbRechCode_A.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkCode_F_Click()
If Me.ChkCode_F Then
Me.cmbRechCode_F.Visible = False
Else
Me.cmbRechCode_F.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkCode_C_Click()
If Me.ChkCode_C Then
Me.cmbRechCode_C.Visible = False
Else
Me.cmbRechCode_C.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkProduit_Click()
If Me.ChkProduit Then
Me.cmbRechProduit.Visible = False
Else
Me.cmbRechProduit.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkDescription_Document_Click()
If Me.chkDescription_Document Then
Me.cmbRechDescription_Document.Visible = False
Else
Me.cmbRechDescription_Document.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkFamille_Produit_Click()
If Me.chkFamille_Produit Then
Me.cmbRechFamille_Produit.Visible = False
Else
Me.cmbRechFamille_Produit.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkReference_Click()
If Me.chkReference Then
Me.cmbRechReference.Visible = False
Else
Me.cmbRechReference.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkPhase_cycle_de_vie_Click()
If Me.chkPhase_cycle_de_vie Then
Me.cmbRechPhase_cycle_de_vie.Visible = False
Else
Me.cmbRechPhase_cycle_de_vie.Visible = True
End If

RefreshQuery

End Sub

Private Sub chkDescription_Code_F_Click()
If Me.ChkDescription_Code_F Then
Me.cmbRechDescription_Code_F.Visible = False
Else
Me.cmbRechDescription_Code_F.Visible = True
End If

RefreshQuery

End Sub

Private Sub cmbRechPhase_cycle_de_vie_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechIngredients_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechCode_A_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechCode_F_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechDescriptionCode_F_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechCode_C_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechProduit_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechDescriptionDocument_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechFamille_Produit_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub

Private Sub cmbRechReference_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String

SQL = "SELECT Nom_Documents, Document, Ingredients, Code_A, Code_F, Description_Code_F, Produit, Description_Produit, Code_C, Famille_Produit, Reference, Phase_cycle_de_vie FROM Table_Document Where Table_Document!Nom_Documents"

If Not Me.chkIngredients Then
SQL = SQL & "And Table_Document!Ingredients = '" & Me.cmbRechIngredients & "' "
End If
If Not Me.ChkCode_A Then
SQL = SQL & "And Table_Document!Code_A = '" & Me.cmbRechCode_A & "' "
End If
If Not Me.ChkCode_F Then
SQL = SQL & "And Table_Document!Code_F = '" & Me.cmbRechCode_F & "' "
End If
If Not Me.ChkDescription_Code_F Then
SQL = SQL & "And Table_Document!Description_Code_F = '" & Me.cmbRechDescription_Code_F & "' "
End If
If Not Me.ChkProduit Then
SQL = SQL & "And Table_Document!Produit = '" & Me.cmbRechProduit & "' "
End If
If Not Me.chkDescription_Produit Then
SQL = SQL & "And Table_Document!Description_Produit = '" & Me.cmbRechDescription_Produit & "' "
End If
If Not Me.ChkCode_C Then
SQL = SQL & "And Table_Document!Code_C = '" & Me.cmbRechCode_C & "' "
End If
If Not Me.chkFamille_Produit Then
SQL = SQL & "And Table_Document!Famille_Produit = '" & Me.cmbRechFamille_Produit & "' "
End If
If Not Me.chkReference Then
SQL = SQL & "And Table_Document!Reference = '" & Me.cmbRechReference & "' "
End If
If Not Me.chkPhase_cycle_de_vie Then
SQL = SQL & "And Table_Document!Phase_cycle_de_vie = '" & Me.cmbRechPhase_cycle_de_vie & "' "
End If

SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))

SQL = SQL & ";"

Me.lblStats.Caption = DCount("*", "Table_Document", SQLWhere) & " / " & DCount("*", "Table_Document")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery

End Sub


Private Sub Form_Current()

End Sub

Private Sub lstResults_DblClick(Cancel As Integer)

DoCmd.OpenForm "Saisie_Document", acNormal, , "[Nom_Documents] = " & Me.lstResults

End Sub


Private Sub Form_Load()

Dim ctl As Control

For Each ctl In Me.Controls
Select Case Left(ctl.Name, 3)
Case "chk"
ctl.Value = -1

Case "lbl"
ctl.Caption = "- * - * -"

Case "cmb"
ctl.Visible = False

End Select
Next ctl

Me.lstResults.RowSource = "SELECT Nom_Documents, Document, Ingredients, Code_A, Code_F, Description_Code_F, Produit, Description_Produit, Code_C, Famille_Produit, Reference, Phase_cycle_de_vie FROM Table_Document;"
Me.lstResults.Requery

End Sub


De plus mes listes déroulantes possèdent des enregistrements de plusieurs mots, est-il possible de faire une recherche par groupes de lettres composant mes enregistrements au lieu des caractères de début de mot.
Actuellement le code est : ("description" est le champs composant ma liste déroulante)
"SELECT table_Livres.description FROM table_Livres GROUP BY table_Livres.description ORDER BY table_Livres.description;"
Ce code classe par ordre alphabétique et évite les doublons.


Je suis conscient que j'en demande beaucoup, mais j'espère que certains auront le courage d'arriver jusqu'ici, MERCI !

3 réponses

f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
Modifié par f894009 le 9/06/2015 à 08:49
Bonjour,

question:

chkIngredients_Click semblerait que ce soit pour une checkbox et vous n'en avez aucune ???????
1
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
9 juin 2015 à 09:09
Bonjour,
alors ce serais peu être pour ça, j'ai peut être confondu les checkbox avec les boutons bascule?
Mais dans ce tuto :
http://learnup.fr/

il utilise chk... pour les boutons bascule

Merci
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708 > MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
9 juin 2015 à 09:28
Re,

Oui, en effet y a pas de checkbox, mais des boutons a bascule (ToggleButton) et "normalement" Chk est une des abreviations utilisees pour CheckBox.

Il faudrait votre fichier pour voir ce qui ne va pas (sans donnees sensibles)

Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

A+
0
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
9 juin 2015 à 09:51
Re,
https://www.cjoint.com/c/EFjhXLnzlVj
ce n'est pas la dernière sauvegarde par contre,
je n'ai pas changé les bouton bascule en checkbox sur cette version...
Merci pour tout :)
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708 > MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
9 juin 2015 à 09:57
Re,

Ne changer rien a vos boutons !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.chkDescription_Produit
correspond a quoi car erreur
0
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
9 juin 2015 à 10:02
D'accord, ce n'est pas un problème j'ai plusieurs sauvegardes, ouf x)
chkDescription_Produit doit être une erreur car seul Description_Document ou Description_Code_F existe !
0
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
11 juin 2015 à 09:05
Bonjour,
personne a des idées?
Merci
0
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
11 juin 2015 à 15:11
Je pense que mon code ne correspond pas car ma structure possède des champs multi-valués, quelqu'un possède une solution?
merci
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708 > MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
11 juin 2015 à 15:14
Bonjour,

C'est le probleme que j'ai entrevu, mais pour le moment pas de solution
0
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
11 juin 2015 à 15:16
Re,
j'ai vu cette personne qui modifie son code mais je ne m'y connait pas assez pour savoir quoi changer :
https://www.developpez.net/forums/d828622/logiciels/microsoft-office/access/requetes-sql/recherche-multicritere-champs-plusieurs-valeurs/
0
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
12 juin 2015 à 11:37
Bonjour,
voici ma bdd : https://www.cjoint.com/c/EFmjiMKNOsj
j'ai suivis ce tuto : http://claudeleloup.developpez.com/t...-multicritere/
Je n'ai pas poursuivis après la partie VII-B car malgré que je comprenne le pourquoi de la majorité des étapes, le comment reste à éclaircir sur certains points à mon avis.
Je n'arrive pas à saisir en quoi concerne le oui ou non pour "Limiter à liste".
Aussi pour dans le V il fait un filte "du" et "au", n'est il pas possible de faire une recherche par critère contenus avec ce code dans les zones de liste?

J'ai fais exactement comme dans le tutoriel, mon formulaire basé sur une requête,
dès que j'attaque les critères de ma requête l'affichage de mes champs dans mon formulaire disparait.
De plus les zones de listes et zone de texte pour ma recherche n'ont pas l'air de fonctionner complètement.

Pour l'affichage par défaut de mon formulaire j'ai mis "formulaire continus" car "Mode continu" cité dans le tutoriel n'existe pas,


Le tutoriel n'est pas adapté au champs multi valués?
Ou ce qui est fort possible, j'ai fait une boulette!

J'offre du pinard à celui qui me fait fonctionner tout ça!

Merci
0
MrJacky7 Messages postés 34 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 15 juin 2015
15 juin 2015 à 08:08
Personne ne peux m'aider?
0