[Access]problème liaison form/requete/etat?

Résolu/Fermé
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 - 27 mai 2009 à 21:14
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 - 3 juin 2009 à 07:12
Bonjour, j'ai un petit problème en access
je dois sélectionner dans un formulaire des informations qui ne sont autres que celle ci

le nom de l'intervenant
un intervalle de date ( début et fin )
une ligne de production
un équipement et un sous équipement

pour optimiser la recherche on m'a poser plusieurs condition comme:

une recherche par ligne de production, par nom de l'intervenant ou alors par équipement

après avoir longtemps réfléchis sur la manière de ne sélectionner qu'un nom ( par exemple) ou tous les noms (voir mes discussion précédentes) j'ai décidé de mettre une condition dans le code de mon bouton "recherche" qui exécute une macro, en effet si je sélectionne "tout les noms" je ferais une recherche par intervenants, je disposerais donc d'une macro qui lancera une requête de sélection uniquement sur l'intervenant et la date, le reste doit s'afficher dans un état

il en va de même pour la ligne de production etc etc

mon problème est le suivant, l'exécution à part de mes macros fonctionne parfaitement seulement avec le formulaire rien ne s'affiche dans l'état!!

est ce parce qu'un formulaire ne peut être lié à plusieurs requête? est ce parce que mon formulaire n'est pas lié à mes requêtes?

je ne sais pas comment faire pour que mon formulaire décide d'envoyer les donnés saisie par l'utilisateur à mes différentes requête

merci de votre attention, merci de votre aide

13 réponses

yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
27 mai 2009 à 21:58
Je pense que le VBA du formulaire doit associer la requête à l'état, ainsi :

Application.Reports.Item("nom de l etat").RecordSource = "texte de la requete"
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
27 mai 2009 à 23:01
d'accord et ce code je le place avant d'appelé la macro correspondante?
désoler de poser cette question mais comme je ne peux pas tester avant demain j'aimerais savoir tout de même

merci à toi yg_be
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
27 mai 2009 à 23:13
avant d'ouvrir l'état.

il est possible d'ouvrir l'état à partir du VBA.

à quoi sert la macro ?
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
28 mai 2009 à 07:11
la macro ouvre la requête qui exécute la la sélection en fonction des paramètres que le formulaire lui passe et ensuite la macro ouvre l'état, c'est pour ça je dois d'abord passer par la requête...
je vais test ton code je te redis quoi
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
28 mai 2009 à 07:15
en fait ma macro me permet d'ouvrir dans un premier temps une requête qui va exécuter une sélection en fonction des paramètres que lui passe mon formulaire, puis ensuite il va ouvrir mon état ou doit s'afficher toutes les informations nécésaire
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
28 mai 2009 à 07:55
la macro sert à ouvrir la requête pour qu'elle puisse exécuté une sélection sur les paramètres envoyé par le formulaire ( paramètres qui ne sont pas envoyés d'ailleurs) et après la sélection, cette même macro ouvre mon état ou doit s'afficher le résultat final
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
28 mai 2009 à 07:58
la macro sert à ouvrir la requête pour qu'elle puisse exécuté une sélection sur les paramètres envoyé par le formulaire ( paramètres qui ne sont pas envoyés d'ailleurs) et après la sélection, cette même macro ouvre mon état ou doit s'afficher le résultat final
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
28 mai 2009 à 07:59
Tu as écris :
"
la macro ouvre la requête qui exécute la la sélection en fonction des paramètres que le formulaire lui passe et ensuite la macro ouvre l'état, c'est pour ça je dois d'abord passer par la requête...
je vais test ton code je te redis quoi
"

Je pense que le VBA doit associer la commande SQL à l'état, puis ouvrir l'état.

Donc :
Application.Reports.Item("nom de l etat").RecordSource = "texte de la requete"
docmd.openreport "nom de l'etat"
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
28 mai 2009 à 10:44
test ccm
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
29 mai 2009 à 08:53
désoler de ne pas avoir répondu avant j'avais des problèmes de connexion au boulot, et je dois avouer que c'est plus amusant de se prendre la tête à résoudre ce problème que de se prendre la tête sur du access

je n'ai pas encore tester ton code je l'avoue je vais le faire juste après ce post, mais il y a quelque chose que je ne comprend pas.
la bdd que je modifie existait déjà auparavant mais on m'a demandé de l'améliorer, comme tu le sais on s'est pris la tête avec une histoire de sélection dans le formulaire et je pense avoir résolut le problème (voir code)
mais le type qui a créer cette bdd avant moi à une multitude de petit formulaire de recherche qui fonctionne très bien, tout ce que j'ai fait c'est de les compacter pour qu'il ne reste qu'un seul formulaire
Alors pourquoi ces requêtes à lui fonctionne avec le formulaire et pas les miennes?
impossible de voir ce type pour qu'il puisse m'aider...
tu es mon seul collègue de boulot ici yg_be^^
je test ton code je te redis quoi

voici le code pour éviter une sélection total et/ou partiel en même temps, il suffit d'utiliser plusieurs requête qui ont chacune des filtres différents

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
flag = MsgBox("Veuillez ne sélectionner que deux critères de recherche au maximum")
stDocName = "M_ouvrir_recherche_total"
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
stDocName = "M_recherche_intervenant"
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

End Sub

c'est mon bouton rechercher qui gère les différentes possibilité de recherche
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
30 mai 2009 à 15:20
Peux-tu m'expliquer ce que font les macros ?
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
30 mai 2009 à 22:56
Je pense que le plus simple est, dans le VBA, associer la commande SQL à l'état, puis ouvrir l'état.

Donc :
Application.Reports.Item("nom de l etat").RecordSource = "texte de la requete"
DoCmd.OpenReport "lenomdetonetat", acViewPreview

Je suis curieux de voir comment font les macros pour ouvrir l'état correctement.
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:12
le problème est résolut j'avais une erreur de syntaxe merci de ton aide yg_be je post aussi a solution que j'ai trouvé pour la sélection de toute une table dans mon premier topic http://www.commentcamarche.net/forum/affich 12598446 access qui est ce qui s y connait?page=2#33
0