Filtre d'une table avec Access et VB
Résolu
philip.dang
Messages postés
37
Statut
Membre
-
amidfki Messages postés 13 Statut Membre -
amidfki Messages postés 13 Statut Membre -
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.
5 réponses
-
Bonjour philip,
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 -
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.
-
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.-
-
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 -
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 :) -
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
dim sql as string
sql="SELECT mot FROM [table] WHERE occurence_mot >' " & X & " 'AND occurence_mot <'" & Y & " ' "
me!(nom de sous-formulaire).form.recordsource=sql
me!(nom de sous-formulaire.requery