Filtre d'une table avec Access et VB
Résolu/Fermé
philip.dang
Messages postés
35
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
1 septembre 2011
-
2 août 2011 à 16:49
amidfki Messages postés 12 Date d'inscription mardi 13 novembre 2012 Statut Membre Dernière intervention 23 avril 2014 - 18 avril 2014 à 12:35
amidfki Messages postés 12 Date d'inscription mardi 13 novembre 2012 Statut Membre Dernière intervention 23 avril 2014 - 18 avril 2014 à 12:35
A voir également:
- Filtre d'une table avec Access et VB
- Table ascii - Guide
- Table des matières word - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
5 réponses
synopsis8
Messages postés
1364
Date d'inscription
dimanche 15 mars 2009
Statut
Membre
Dernière intervention
1 juin 2013
243
2 août 2011 à 22:51
2 août 2011 à 22:51
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.
philip.dang
Messages postés
35
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
1 septembre 2011
1
3 août 2011 à 09:53
3 août 2011 à 09:53
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
blux
Messages postés
26536
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
19 décembre 2024
3 317
3 août 2011 à 10:28
3 août 2011 à 10:28
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.
philip.dang
Messages postés
35
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
1 septembre 2011
1
4 août 2011 à 14:16
4 août 2011 à 14:16
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.
blux
Messages postés
26536
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
19 décembre 2024
3 317
4 août 2011 à 14:23
4 août 2011 à 14:23
Si ton bouton s'appelle Command11, alors tu dois avoir un affichage quand tu cliques dessus.
philip.dang
Messages postés
35
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
1 septembre 2011
1
8 août 2011 à 11:40
8 août 2011 à 11:40
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
blux
Messages postés
26536
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
19 décembre 2024
3 317
Modifié par blux le 8/08/2011 à 13:17
Modifié par blux le 8/08/2011 à 13:17
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
philip.dang
Messages postés
35
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
1 septembre 2011
1
8 août 2011 à 16:27
8 août 2011 à 16:27
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 :)
philip.dang
Messages postés
35
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
1 septembre 2011
1
8 août 2011 à 16:38
8 août 2011 à 16:38
Est-ce que cela vient des modules, classes de modules? ce sont des notions que je ne maitrise pas du tout.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
amidfki
Messages postés
12
Date d'inscription
mardi 13 novembre 2012
Statut
Membre
Dernière intervention
23 avril 2014
18 avril 2014 à 12:35
18 avril 2014 à 12:35
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
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