IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

[Access 2003] Imprimé un sous-formulaire dans un état


Sujet :

IHM

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut [Access 2003] Imprimé un sous-formulaire dans un état
    Bonjour à tous,
    je suis en train de réaliser une base de données et je me heurte à un petit problème.
    J'ai déjà beaucoup appris grâce au forum et à la faq, mais la je n'avance plus.

    J'ai un formulaire, dans lequel en fonction d'un champ choisi (liste déroulante), des données s'affichent dans un sous-formulaire. Et je voudrais qu'en cliquant sur un bouton imprimer, s'ouvre un état de ma sélection.

    J'ai donc suivi le tuto "Imprimer les données d'un formulaire dans un état", en préparant mon état et en rajoutant le code suivant :

    Private Sub BTImprimer_Click()
    Dim Nom_Etat as string
    Nom_Etat="MonEtat"
    DoCmd.OpenReport Nom_Etat, acPreview
    End Sub
    Private Sub Report_Open(Cancel as integer)
    Me.RecordSource=Forms.Item("MonSousFormulaire").recordsource
    End Sub
    Mais quand je clique sur mon bouton, j'ai un message d'erreur :
    Erreur d'exécution 2450
    Impossible de trouver le formulaire auquel il fait référence.


    Quelqu'un sait-il comment résoudre mon problème ?
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub BTImprimer_Click()
    Dim Nom_Etat as string
    Nom_Etat="MonEtat"
    DoCmd.OpenReport Nom_Etat, acPreview,, "Recordsource = " & me.recordsource
    End Sub
    Il est préférable d'ouvrir l'état en lui passant des paramètres que de prendre des paramètres à l'ouverture de l'état.

    Si tu veux réutiliser ton état pour autre chose, il reste disponible.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Etant un débutant en langage VBA, si je comprends bien, il suffis que je remplace :

    Private Sub BTImprimer_Click()
    Dim Nom_Etat as string
    Nom_Etat="MonEtat"
    DoCmd.OpenReport Nom_Etat, acPreview
    End Sub
    par

    Private Sub BTImprimer_Click()
    Dim Nom_Etat as string
    Nom_Etat="MonEtat"
    DoCmd.OpenReport Nom_Etat, acPreview,, "Recordsource = " & me.recordsource
    End Sub

    et que je supprime :

    Private Sub Report_Open(Cancel as integer)
    Me.RecordSource=Forms.Item("MonSousFormulaire").recordsource
    End Sub
    C'est comme cela qu'il faut procéder ?
    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Oui, il suffisait d'essayer.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Merci bien de la rapidité de réponse.

    Maintenant je n'ai plus de message d'erreur, mais une fenêtre qui s'ouvre pour entrer une valeur de paramètre.
    Il faut peut être que je l'indique dans le code ?
    Quel oubli ai-je fais ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Recordsource = " & me.recordsource
    se sont bien les noms des contrôles liés entre ton formulaire et ton état.

    Quel type de données contiennent-ils ?
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Il s'agit tout simplement de texte.
    En fait ma base de données est un suivi de formation. J'ai une table avec une liste de personnes, une table avec une liste de formation et une troisième qui gère le suivi.
    Dans mon formulaire, je sélectionne donc dans une liste déroulante, le nom de la personne et mon sous-formulaire affiche les formations suivies.
    Je souhaite donc exporter les résultats dans un état pour l'impression.

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    FAQ

    Voilà ce que donne la FAQ.

    Le type de données est important pour le nombre de "
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  9. #9
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Je vais paraître un peu insistant, mais vu mon très faible niveau de Visual Basic, je ne sais pas du tout quoi faire !!!

  10. #10
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Les contrôles de ton formulaire et de ton état, quels sont leur nom ?
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  11. #11
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Le formulaire principal se nomme "Consultation_Agents".
    Ma zone de liste déroulante où je sélectionne le nom de la personne se nomme "Modifiable12".

    Le sous formulaire où s'affiche les données se nomme "Requête_Formation_sous-formulaire".
    Mon état se nomme "Consultation".

    Et les champs (formulaire et état) se nomment "Nom", "Titre Formation" et "Avis".

  12. #12
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Nom = "& Me.modifiable12
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  13. #13
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Je pense que j'y suis presque et je commence à comprendre un peu mieux le langage VBA.

    Pour résumer, voici mon code du bouton :
    Private Sub BTImprimer_Click()
    Dim Nom_Etat As String
    Nom_Etat = "Consultation"
    DoCmd.OpenReport Nom_Etat, acPreview, , "Recordsource = "Nom = "& Me.modifiable12
    End Sub
    Et quand je clic dessus, j'ai le message d'erreur suivant : Erreur de compilation : Erreur de syntaxe

  14. #14
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Il n'y a personnes pour me donner une petite aide !

  15. #15
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    DoCmd.OpenReport Nom_Etat, acPreview, , "Recordsource = "Nom = "& Me.modifiable12
    essaie comme ça !

    DoCmd.OpenReport Nom_Etat, acPreview, , "Nom = "& Me.modifiable12
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  16. #16
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Ca me donne une erreur 3464 : Type de données incompatible dans l'expression du critère

  17. #17
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    C'est parce que cette méthode est utilisée pour des nombres.

    Pour du texte, on utilise des " en plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport Nom_Etat, acPreview, , "Nom = " & "'" & Me.modifiable12 & "'"
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  18. #18
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    C'est bon, je n'ai plus le message d'erreur.
    Par contre, la fonction ne marche pas. Mon état s'ouvre mais aucune informations de mon sous-formulaire ne s'affiche.

  19. #19
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Il faut alors utiliser des méthode pour savoir si le paramètre est bien présent dans la variable;

    Pour ce faire,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    msgbox Me.modifiable12
    DoCmd.OpenReport Nom_Etat, acPreview, , "Nom = " & "'" & Me.modifiable12 & "'"
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  20. #20
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Cela m'a écrit 55 mais le chiffre change en fonction du Nom sélectionné.
    Ca correspond à quoi exactement ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/11/2009, 09h02
  2. Réponses: 5
    Dernier message: 13/02/2009, 16h42
  3. visualiser un sous-formulaire dans un état
    Par femtoserv dans le forum IHM
    Réponses: 2
    Dernier message: 01/02/2007, 00h36
  4. [Access 2003]dimensionner un sous formulaire?
    Par steeves5 dans le forum Access
    Réponses: 2
    Dernier message: 21/06/2006, 14h05
  5. Imprimer sous-formulaire dans un état
    Par guenfood dans le forum Access
    Réponses: 16
    Dernier message: 13/06/2006, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo