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 :

Test ouverture de formulaire + execution de code VB


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Test ouverture de formulaire + execution de code VB
    Bonjour,


    Je souhaiterais dans un code VB au chargement d'un etat Access tester si un formulaire est ouvert. Ensuite recuperer deux valeurs de champs de ce formulaire et les attribuer a deux champs de mon etat.

    Si le formulaire n'est pas ouvert, que l'utilisateur est une invite pour remplir ces deux champs.

    Je debute en VB. J'ai trouve la foncton de test de formulaire, il doit falloir utiliser une Inputbox egalement, mais je n'arive pas a mettre tout en order pour que ca marche :-)

    Merci d'avance pour votre aide.

    @+++

    Jay

  2. #2
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Bonjour,

    Quelle est la source initiale de l'état?

    SE

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    La source de l'etat est une requete.

    En fait, j'utilise cette requete.

    Si mon formulaire que je teste est ouvert, je souhaite que les deux valeurs renseignees ds mon formulaire soit pris en compte dans mon etat, sinon que l'utilisateur est un message de saisie de ces deux champs.

    Suis-je clair ?


    Merci d'avance.

    @+++

    Jay

  4. #4
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 962
    Points : 1 151
    Points
    1 151
    Par défaut Test
    Salut,

    J'utilise régulièrement cette fonction pour tester sur l'ouverture d'un form (tu peux aussi l'adapter pour tester sur l'ouverture d'un état):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Function EstOuvert(NomFormulaire)
    ' Argument(s) : un nom de formulaire.
    ' Action : détermine si un formulaire est actif.
    ' Valeur(s) renvoyée(s) : True si le formulaire spécifié est actif ;
    '          False dans le cas contraire.
    ' Voir : Chapitre 3.
     
        Dim i
        EstOuvert = False
        For i = 0 To Forms.Count - 1
        If Forms(i).FormName = NomFormulaire Then
            EstOuvert = True
            Exit Function   ' Quitte la fonction une fois le formulaire trouvé.
        End If
        Next
     
    End Function

    Au final, sur l'événement formatage (plutôt que chargement), tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If EstOuvert("Form1") then
       reports!Etat1!Ctrl1=forms!Form1!Ctrl1
       reports!Etat1!Ctrl2=forms!Form1!Ctrl2
    else
       reports!Etat1!Ctrl1=inputbox("Veuillez saisir la valeur 1:")
       reports!Etat1!Ctrl2=inputbox("Veuillez saisir la valeur 2:")
    end if
    J'espère répondre à ta question, cordialement,

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci Ric500,


    Je teste ca dans la semaine et je te dis, mais ca m'a l'air plutot bien.

    Merci pour ton aide.

    @+++

    Jay

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Le code de test d'ouverture fct.

    Par contre, lorsqu'il arrive sur la ligne de code reports![nom de l'etat]![ctrl1] = xxxx

    VB m'indique : Impossible d'attribuer une valeur a cet objet.

    As-tu une idee ?


    @+++

    Jay

  7. #7
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 962
    Points : 1 151
    Points
    1 151
    Par défaut Code
    Essaie sur l'événement formatage de la section.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    C'est idem sur la section.

    Voici le message d'erreur complet :

    Impossible d'attribuer une valeur a cet objet

    * L'objet est peut etre un controle sur un formulaire en lecture seule
    * Il est peut etre sur un formulaire ouvert en mode creation
    * Il est possible aussi que la valeur soit trop grande pour ce champ


    Bizarre....

  9. #9
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 962
    Points : 1 151
    Points
    1 151
    Par défaut
    Pour affecter une valeur à ton contôle, à partir de l'événement formatage, il faut bien sûr aussi que la propriété source du contrôle en question soit vide.

Discussions similaires

  1. Adaptation de code pour ouverture de formulaire
    Par Homer091 dans le forum IHM
    Réponses: 4
    Dernier message: 25/04/2008, 12h08
  2. Réponses: 3
    Dernier message: 23/04/2008, 15h35
  3. Réponses: 11
    Dernier message: 25/07/2006, 20h14
  4. Réponses: 1
    Dernier message: 08/06/2006, 10h22
  5. Réponses: 5
    Dernier message: 29/12/2005, 13h47

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