Filtre d'une table avec Access et VB
Résolu
philip.dang
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
amidfki Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
amidfki Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutant sur Access. (j'utilise Office 2007)
J'ai une table avec trois champs : identifiant_mot(autonumber), mot (text), occurence_mot(nombre d'apparition du mot : un nombre entier)
J'aimerais créer un programme? une requete? un rapport(form)? pour m'afficher la liste des mots dont l'occurence est comprise entre X et Y (qui sont des entiers variables).
De préférence, X et Y serait à choisir dans des combobox (choix préétabli de valeurs : 1/5/10/15/20/50/100/200/500).
A chaque actualisation de sélection des valeurs X et/ou Y. La feuille s'actualise et affiche le résultat.
Je crois que c'est assez simple à faire : le problème, c'est que je ne sais pas comment :(
De l'aide serait le bienvenu.
Merci d'avance pour vos réponses.
Je suis débutant sur Access. (j'utilise Office 2007)
J'ai une table avec trois champs : identifiant_mot(autonumber), mot (text), occurence_mot(nombre d'apparition du mot : un nombre entier)
J'aimerais créer un programme? une requete? un rapport(form)? pour m'afficher la liste des mots dont l'occurence est comprise entre X et Y (qui sont des entiers variables).
De préférence, X et Y serait à choisir dans des combobox (choix préétabli de valeurs : 1/5/10/15/20/50/100/200/500).
A chaque actualisation de sélection des valeurs X et/ou Y. La feuille s'actualise et affiche le résultat.
Je crois que c'est assez simple à faire : le problème, c'est que je ne sais pas comment :(
De l'aide serait le bienvenu.
Merci d'avance pour vos réponses.
A voir également:
- Filtre d'une table avec Access et VB
- Table ascii - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Table des matières word - Guide
- Vb - Télécharger - Langages
- Filtre whatsapp - Accueil - Messagerie instantanée
5 réponses
Bonjour philip,
Il s'agit d'une requête de ce type :
Il faut l'adapter selon le code SQL d'Access.
Il s'agit d'une requête de ce type :
SELECT mot FROM [table] WHERE occurence_mot > X AND occurence_mot < Y
Il faut l'adapter selon le code SQL d'Access.
Bonjour synopsis8,
Oui merci, mais en fait, j'aurais voulu savoir concrètement comment faire ceci sur Access. Comment attribuer une variable à une selection dans une combobox/listbox et à chaque évènement de sélection d'une valeur : afficher les résultats dans un rapport ou formulaire.
Ma question ne portait pas vraiment sur la syntaxe SQL mais sur la manière dont les différents élements code SQL /interface Access/code VB fonctionne ensemble.
En pratique, dans une combobox, comment fait-on pour déterminer les valeurs affichées dans la combobox et les lier à X et Y dans Access.
Merci d'avance
Oui merci, mais en fait, j'aurais voulu savoir concrètement comment faire ceci sur Access. Comment attribuer une variable à une selection dans une combobox/listbox et à chaque évènement de sélection d'une valeur : afficher les résultats dans un rapport ou formulaire.
Ma question ne portait pas vraiment sur la syntaxe SQL mais sur la manière dont les différents élements code SQL /interface Access/code VB fonctionne ensemble.
En pratique, dans une combobox, comment fait-on pour déterminer les valeurs affichées dans la combobox et les lier à X et Y dans Access.
Merci d'avance
Salut,
il te faut deux listes dans lesquelles tu choisiras tes valeurs, et un sous-formulaire qui affiche les résultats.
Ensuite, à chaque modification dans la liste (choix d'une valeur), tu iras 'rafraichir' ton sous-formulaire.
Pour attribuer une sélection d'un objet à une variable, tu fais : variable = nom_objet.value
Pour changer le source d'un sous-formulaire, tu fais nom_du_sous_formulaire.rowsource (ou .recordsource) = variable (dans variable, tu vas trouver une requête SQL que tu auras fabriquée avec les résultats de tes saisies.
il te faut deux listes dans lesquelles tu choisiras tes valeurs, et un sous-formulaire qui affiche les résultats.
Ensuite, à chaque modification dans la liste (choix d'une valeur), tu iras 'rafraichir' ton sous-formulaire.
Pour attribuer une sélection d'un objet à une variable, tu fais : variable = nom_objet.value
Pour changer le source d'un sous-formulaire, tu fais nom_du_sous_formulaire.rowsource (ou .recordsource) = variable (dans variable, tu vas trouver une requête SQL que tu auras fabriquée avec les résultats de tes saisies.
Bonjour et merci pour ta réponse,
j'ai réussi à afficher une liste de valeurs pré-choisies dans les combo_box : l'une pour choisir la valeur X, l'autre pour choisir la valeur Y.
Par contre, je n'arrive pas à : lancer un événement à partir du code. J'ai créé un événement qui fonctionne :
Même un simple (cfr code juste en dessous) ne fonctionne pas quand je clique sur le bouton.
Private Sub Command11_Click()
MsgBox "ok"
End Sub
J'imagine que c'est une faute de syntaxe ou un truc tout bête à cocher mais je ne sais pas quoi.
Merci de ton aide.
j'ai réussi à afficher une liste de valeurs pré-choisies dans les combo_box : l'une pour choisir la valeur X, l'autre pour choisir la valeur Y.
Par contre, je n'arrive pas à : lancer un événement à partir du code. J'ai créé un événement qui fonctionne :
Même un simple (cfr code juste en dessous) ne fonctionne pas quand je clique sur le bouton.
Private Sub Command11_Click()
MsgBox "ok"
End Sub
J'imagine que c'est une faute de syntaxe ou un truc tout bête à cocher mais je ne sais pas quoi.
Merci de ton aide.
Bonjour blux,
J'ai écrit la requete suivante :
SELECT [LISTE MOTS].[count_mots], [LISTE MOTS].[nom_mots]
FROM [LISTE MOTS]
WHERE [count_mots] BETWEEN count_min and count_max;
lorsque je la lance avec "RUN" dans le bandeau de Access. On me demande successivement de rentrer les valeurs de count_min et count_max.
Par contre, je n'arrive pas à relier count_min et count_max aux valeurs affichés dans les combobox.
Comment dois-je faire pour bien appeler : count_min = Combo11.value et count_max = combo12.value ?
Merci de ton aide
J'ai écrit la requete suivante :
SELECT [LISTE MOTS].[count_mots], [LISTE MOTS].[nom_mots]
FROM [LISTE MOTS]
WHERE [count_mots] BETWEEN count_min and count_max;
lorsque je la lance avec "RUN" dans le bandeau de Access. On me demande successivement de rentrer les valeurs de count_min et count_max.
Par contre, je n'arrive pas à relier count_min et count_max aux valeurs affichés dans les combobox.
Comment dois-je faire pour bien appeler : count_min = Combo11.value et count_max = combo12.value ?
Merci de ton aide
Il faut que tu crées ta requête avec du VBA qui sera appelé lorsque tu appuies sur un bouton, ensuite tu la mettras en source de ton sous-formulaire...
Dim StrSql as string StrSql = "SELECT [LISTE MOTS].[count_mots], [LISTE MOTS].[nom_mots] FROM [LISTE MOTS] WHERE [count_mots] BETWEEN " & combo11.value & " AND " + combo12.value sous_form.recordsource = StrSql
Rebonjour,
Pour le code, c'est bon, j'ai bien compris la manière de s'y prendre. En gros : à chaque fois, on réécrit la requete selon la valeur des variables choisies et on la relance.
Par contre, je n'arrive toujours pas à faire fonctionner correctement la chose. :(
Ma requete "Query1" est :
SELECT LISTE.age, LISTE.Prénom
FROM LISTE
WHERE (((LISTE.age) Between 5 And 15))
ORDER BY LISTE.age, LISTE.Prénom;
(elle fonctionne quand je clique sur RUN)
je crée un bouton, je vais dans view code :
et j'écris :
Private Sub Command9_Click()
Dim StrSql As String
StrSql = "SELECT [LISTE MOTS].[count_mots], [LISTE MOTS].[nom_mots] FROM [LISTE MOTS] WHERE [count_mots] BETWEEN 1 AND 35;"
Query1.RecordSource = StrSql
DoCmd.OpenQuery "Query1"
End Sub
J'essaie de faire fonctioner en form view en cliquant sur Command9 : et Access me répond Object Required + Bug
Ou si je le fais fonctionner en cliquand sur le bouton lecture à partir du code : il y a une fenetre qui s'ouvre et qui me demande de selectionner une macro. (qui n'existe pas, puisque je n'en ai pas)
Merci pour ton aide et Bonne journée :)
Pour le code, c'est bon, j'ai bien compris la manière de s'y prendre. En gros : à chaque fois, on réécrit la requete selon la valeur des variables choisies et on la relance.
Par contre, je n'arrive toujours pas à faire fonctionner correctement la chose. :(
Ma requete "Query1" est :
SELECT LISTE.age, LISTE.Prénom
FROM LISTE
WHERE (((LISTE.age) Between 5 And 15))
ORDER BY LISTE.age, LISTE.Prénom;
(elle fonctionne quand je clique sur RUN)
je crée un bouton, je vais dans view code :
et j'écris :
Private Sub Command9_Click()
Dim StrSql As String
StrSql = "SELECT [LISTE MOTS].[count_mots], [LISTE MOTS].[nom_mots] FROM [LISTE MOTS] WHERE [count_mots] BETWEEN 1 AND 35;"
Query1.RecordSource = StrSql
DoCmd.OpenQuery "Query1"
End Sub
J'essaie de faire fonctioner en form view en cliquant sur Command9 : et Access me répond Object Required + Bug
Ou si je le fais fonctionner en cliquand sur le bouton lecture à partir du code : il y a une fenetre qui s'ouvre et qui me demande de selectionner une macro. (qui n'existe pas, puisque je n'en ai pas)
Merci pour ton aide et Bonne journée :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question