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

Access Discussion :

Pb Formulaire -> Sous Formulaire


Sujet :

Access

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut Pb Formulaire -> Sous Formulaire
    Bonjour,

    j'ai un formulaire (F_FICHIER) avec une liste qui est actualisée par des critère de recherche (un peu comme sur le tuto de cafeine). Tout marchait bien au niveau de ce formulaire.

    Par contre, ce que je veux maintenant, c'est placer ce formualire dans un formulaire principale (F_PRINCIPAL) qui regroupera plusieur sous formulaire. J'ai donc mis un sous formulaire "ssFormFichier" qui a pour source "F_FICHIER", j'ai fait presque toutes les modif, mais il y en a une qui me résiste...

    Le sous formulaire lance un autre formulaire (boite de dialogue) dans laquelle j'appelle une fonction qui a comme paramètre "F_FICHIER" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub bt_ok_Click()
    On Error GoTo Err_bt_ok_Click
     
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        Call initialisationFichier(Forms("F_PRINCIPAL").ssFormFichier)
        DoCmd.Close
    Exit_bt_ok_Click:
        Exit Sub
    Err_bt_ok_Click:
        MsgBox Err.Description
        Resume Exit_bt_ok_Click
     
    End Sub
    mais à ce moment là, j'ai droit à un erreur :
    "Incompatibilité de type"

    (Je ne rentre même pas dans ma fonction...)

    Je ne vois pas de quoi cela vient...
    Si qq1 pouvait m'orienter...
    MERCI
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Le sous formulaire lance un autre formulaire (boite de dialogue) dans laquelle j'appelle une fonction qui a comme paramètre "F_FICHIER"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call initialisationFichier(Forms("F_PRINCIPAL").ssFormFichier)
    Si initialisationFichier est une fonction, elle renvoie une valeur et on l'appelle par exemple comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaVariable = initialisationFichier(Forms("F_PRINCIPAL").ssFormFichier)
    Le 'Call' est réservé aux procédures.

    Donc : initialisationFichier(ctl as control?) est une procédure ou une fonction. Attention aussi au type d'argument passé. Tel que tu l'as écrit, l'argument serait un contrôle de formulaire, ici le contrôle de sous formulaire.

    Bon courage,

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Peut-être aussi que Forms("F_PRINCIPAL").ssFormFichier est de type Obect/Form.
    Il faudrait peut-être écrire un truc du genre Forms("F_PRINCIPAL").ssFormFichier.Form.NomControle pour avoir une valeur.
    A+

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    désolé de répondre tardivement (we oblige), mais ca marche, MERCI

    En effet, c'était bien une Incompatibilité de Type (comme quoi l'erreur donnait bien la bonne indication ), mais j'étais persuadé que "monForm.monSousForm" était un formulaire alors que c'est un control (j'avoue que j'ai fait le boulet).

    C'est quand j'ai vu monForm.monSousForm.Form que la lumière est apparue. Donc il me manquait le .Form, cad :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call initialisationFichier(Forms("F_PRINCIPAL").ssFormFichier.Form)
    sinon
    initialisationFichier(ctl as control?) est une procédure ou une fonction ?

    c'est une procédure(f as Form) pardon, mais en vb j'ai l'impression que les procédures sont également des fonctions (renvoie quand meme une valeur) donc j'ai pas fait gaffe quand j'en ai parlé.

    Un grand merdi à vous
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lier un sous-formulaire à un sous-formulaire
    Par bobosh dans le forum IHM
    Réponses: 2
    Dernier message: 02/03/2021, 11h45
  2. Réponses: 5
    Dernier message: 06/05/2015, 12h24
  3. Réponses: 2
    Dernier message: 24/06/2013, 09h31
  4. Réponses: 2
    Dernier message: 23/06/2013, 21h07
  5. Accéder à un sous-formulaire de sous-formulaire
    Par touftouf57 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/11/2008, 19h04

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