[Access]problème liaison form/requete/etat?
Résolu
DarkAurora
Messages postés
443
Statut
Membre
-
DarkAurora Messages postés 443 Statut Membre -
DarkAurora Messages postés 443 Statut Membre -
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
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
A voir également:
- [Access]problème liaison form/requete/etat?
- Remettre pc etat usine - Guide
- Liaison torride avis ✓ - Forum Vos droits sur internet
- Etat disque dur - Télécharger - Informations & Diagnostic
- Acer quick access - Forum Logiciels
- Bord gauche a ete en liaison de document - Forum Imprimante
13 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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"
Application.Reports.Item("nom de l etat").RecordSource = "texte de la requete"
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
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
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
avant d'ouvrir l'état.
il est possible d'ouvrir l'état à partir du VBA.
à quoi sert la macro ?
il est possible d'ouvrir l'état à partir du VBA.
à quoi sert la macro ?
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 vais test ton code je te redis quoi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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"
"
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"
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
test ccm
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
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
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
Peux-tu m'expliquer ce que font les macros ?
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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.
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.
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