[access] qui est ce qui s'y connait??

Résolu/Fermé
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 - 25 mai 2009 à 08:38
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 - 3 juin 2009 à 07:20
Bonjour, je vais faire simple comment filtrer et/ou tout sélectionner grâce à une requête(filtre et sélection sur la même table évidemment)?

Merci de me répondre

33 réponses

DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
26 mai 2009 à 07:18
je sais que je dois créer un sous formulaire le problème est que je ne sais pas comment faire c'est bête mais je ne vois pas ce que c'est
0
futur linuxien
26 mai 2009 à 07:35
tu cliques sur le nom de la collonne et voila !
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
26 mai 2009 à 07:37
la colonne de quoi de ma table? de ma requête?
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
26 mai 2009 à 07:50
Je pense que F_... c'est un nom de formulaire, pas de requête.

Pour créer un sous formulaire dans un formulaire, tu ouvres le formulaire en mode "design".
Tu as probablement une petite fenetre avec une dizaine de petits boutons. Tu verifies que le bouron "magicien" (en haut à droite) est actif. Tu cliques sur le bouton "sous formulaire". Tu fais un rectangle pour créer le sous formulaire. Le magicien va venir t'aider...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
26 mai 2009 à 07:53
ok ça je l'ai fait et ensuite explique moi ce que ton code fait surtout les deux ligne docmd.formopen et me.formuliare.rowsource je ne les comprend pas et de plus l'aide de mon vba n'est pas garnie

edit je dois faire n'importe quoi la je suis perdu, j'ai créer un sous formulaire en mettant n'importe quoi, et de plus l'erreur se produit toujours je ne comprends pas pourquoi est ce à cause de l'évenement?
je rappel que l'événement est lorsque je click ma liste déroulante
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
26 mai 2009 à 08:41
l'instruction suivante change le critére de sélection (exprimée comme une requête SQL) associé au formulaire (ou sous formulaire)
me.formulaire.rowsource="SELECT * FROM [R_effectif]"

les instructions suivantes ouvrent le formulaire (ou sous formulaire) en lui donnant un filtre pour limiter les enregistrements à inclure dans le formulaire
DoCmd.OpenForm "formulaire", , , "intervenant = "BLANC Thierry""
ou bien
DoCmd.OpenForm "formulaire", , , ""


Dans ton code, tu as mis le nom du sous formulaire à la place du nom du formulaire ? Quand tu tapes me. dans ton code, est-ce que le formulaire et le sous formulaire apparaissent dans la petite liste qui s'ouvre à ce momemt-là ?

Quand tu a créé ton sous formulaire, tu l'as bien associé à la bonne table ?
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
26 mai 2009 à 08:46
je l'ai associé à la table qui me paraissait donner la meilleur associations de toute façon je n'avais pas le choix c'était la seule table en rapport avec mon problème
je vas essayer de retaper me.

cependant je me penche sur une autre possibilité :

Dim valeur, mysql As String
Dim retour As Integer
Dim dbs As Database
Dim rst As Recordset
valeur = pointeur.Value
retour = MsgBox("le resultat est" & valeur, vbDefaultButton1)
If (valeur = "<<TOUS>>") Then
Set dbs = CurrentDb
mysql = "SELECT * FROM [R_effectif];"
Set rst = dbs.OpenRecordset(mysql)
If rst.RecordCount <> 0 Then
retour = MsgBox("vous êtes dans le 2éme if", vbDefaultButton1)
End If
retour = MsgBox("vous êtes dans le if", vbDefaultButton1)
Else
retour = MsgBox("vous êtes dans le else", vbDefaultButton1)
End If
End Sub

ne fait pas attention au msgbox elle me servent "point d'arrêt"
mais j'ai un problème avec le database il me dis que 'est type non défini par l'utilisateur
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
26 mai 2009 à 08:50
utilises les types dao.database et dao.recordset

que veux-tu obtenir avec les recordset ? je pense que c'est une fausse piste, dans ton cas.
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
26 mai 2009 à 08:59
ben ce que je pense c'est que si ma condition est vérifié je fait une sélection de tout les noms je ne crois pas que ce soit plus difficile que ça non?
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
26 mai 2009 à 09:01
Ton but, je pense, c'est que le formulaire fasse la sélection, pas le code VBA.
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
26 mai 2009 à 09:18
Ouin moi tout ce que je veux c'est que ça sélectionne tout les noms quand je click sur tous et un nom precis lorsque je click sur le nom en question
Ouin je suis bloqué dessus depuis une semaine et je suis un paté ça me saoul^^

enfin bref le problème c'est que à travers access les manipulations de formulaire et de sous formulaires liées à des tables des requête et des macros je ne comprend pas tout ce qui se passe, tandis que le code déjà ça me parle plus^^

reprenons tout depuis le début

l'événement est lorsque je click sur un nom ou sur "<<TOUS>>" dans ma liste déroulante
j'insére un code événementielle
ou j'ouvre un sous formulaire que j'ai créer précédement je l'appel sf_recherche_total
ce sous formulaire faute de choix est lié à la table T_intervention (table qui je le rappel contient tout les données servant à faire la recherche) dans mon formulaire F_recherche_total j'ai donc qui s'affiche un sous formulaire qui comprend tout les noms de T_interventions, noms qui sont aussi dans ma liste déroulante

maintenant j'ouvre mon code vba et je met

//variables bouche trou, il me les faut donc je les mets^^
Dim valeur As String
Dim retour As Integer
//pointeur est le nom de ma liste déroulante et je récupère la valeur sélectionné
valeur = pointeur.Value
//je test si j'ai bien récupèré la valeur
retour = MsgBox("le resultat est" & valeur, vbDefaultButton1)
//j'ouvre mon sous formulaire
DoCmd.OpenForm "sf_recherche_total", , , ""
//si la valeur est "<<TOUS>> j'execute mon code
If (valeur = "<<TOUS>>") Then
retour = MsgBox("vous êtes dans le if", vbDefaultButton1)
//j'execute ma requête mais j'ai un message d'erreur
me.formulaire.rowsource="SELECT * FROM [R_effectif]"
Else
retour = MsgBox("vous êtes dans le else", vbDefaultButton1)
End If


0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
26 mai 2009 à 10:37
yg_be j'ai besoin ton aide
je remonte le sujet
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
3 juin 2009 à 07:20
Je vous fait part de la solution que j'ai trouvé pour une sélection d'un nom ou de tout les noms

voici tout d'abord mon code

Private Sub rechercher_Click()
On Error GoTo Err_rechercher_Click

Dim stDocName As String
If (intervenant.Value = "<Tous>") Then
If (ligne.Value = "<Toutes>") Then
If (equipement.Value = "<Tout>") Then
If (ssequipement.Value = "<Tout>") Then
flag = MsgBox("Veuillez ne sélectionner que deux critères de recherche au maximum")
stDocName = "M_ouvrir_recherche_total"
Else
stDocName = "M_recherche_ssequipement"
End If
Else
stDocName = "M_recherche_equipement"
End If
Else
If (equipement.Value = "<Tout>") Then
stDocName = "M_recherche_ligne"
Else
stDocName = "M_recherche_ligne_equipement"
End If
End If
Else
If (ligne.Value = "<Toutes>") Then
If (equipement.Value = "<Tout>") Then
If (ssequipement.Value = "<Tout>") Then
stDocName = "M_recherche_intervenant"
Else
stDocName = "M_recherche_ssequipement_intervenant"
End If
Else
stDocName = "M_recherche_intervenant_equipement"
End If
Else
stDocName = "M_Recherche_total"
End If
End If

DoCmd.RunMacro stDocName

Exit_rechercher_Click:
Exit Sub

Err_rechercher_Click:
MsgBox Err.Description
Resume Exit_rechercher_Click

lorsque je click sur mon bouton recherche je fait différents test en fonction des 8 valeurs différentes que peut prendre mes 4 listes déroulantes
en effet, en fonction de ces valeurs et de conditions requises j'ouvre différente macro qui exécute différentes requêtes paramètré de sélection
si je sélectionne dans une liste "tout" forcément dans ma requête aucune commande sql de sélection ne sera active sur ce paramètre
la requête de sélection se fera sur les valeurs simple sélectionné par l'utilisateur

si vous avez des questions n'hésitez pas à me les poser
0