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 quel objet à ouvert un form


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 110
    Points : 66
    Points
    66
    Par défaut Test quel objet à ouvert un form
    J'ai un code qui dé fois marche dé fois ca marche pas permet de déterminé l'objet qui commandé l'ouverture d'un form
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
        ' Test pour connaitre quel bouton à lancer l'application
        Dim frm As Access.Form
        Dim ctl As Access.Control
        Dim a
        Dim b
        On Error Resume Next
        ' Identifier le formulaire précédent ainsi que
        ' l'objet qui était actif sur ce formulaire
        Set frm = Screen.ActiveForm
        Set ctl = frm.ActiveControl
     
        ' Sortir si aucun formulaire ou aucun objet de formulaire n'a été identifié
        If (frm Is Nothing) Or (ctl Is Nothing) Then
            DoCmd.Close
        End If
     
        a = ctl.Name
        b = frm.Name
        MsgBox a
        MsgBox b
        ' On vérifie par exemple si, avant l'ouverture de ce formulaire, le contrôle actif était bien un bouton
        If TypeOf ctl Is Access.CommandButton Then
        ' On cherche quel bouton à ouvert le formulaire, ==> modification de la source du formulaire
            If ctl.Name = "Click_PDS_Inactif" Then
                Me.RecordSource = "010 - PDS KO"
            End If
            If ctl.Name = "Click_PDS_St_Ouen" Then
                Me.RecordSource = "010 - PDS OK"
            End If
        End if
    Chose curieuse et , sur certaine base access cela fonctionne et d'autre pas.
    J'ai ajouté dans le prog, un affichage des noms des boutons et cela me confirme que la valeur est vierge.
    Alors pourquoi? Actuellement sur une nlle base, cela fonctionne pas ? Que cé passa?
    Peut être qu'il y a plus simple....

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Bonjour,

    'ça marche pas, ça veut dire quoi ?
    Tu dis que la valeur des boutons est vide.

    Y a t'il un message d'erreur ?
    Si message d'erreur, à quel endroit de ton code ?
    As tu changé de version d'Access entre temps ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 110
    Points : 66
    Points
    66
    Par défaut
    Je n'ai pas de message d'erreur.
    Je n'ai pas changer de version d'accessssssss

    Quand je test sur une base où le code fonctionne, j'affiche le nom des boutons grâce à "a" et "b"

    Sur une autre base, rien. Dans la boite de dialogue, c'est vide.



    Moi je seche

  4. #4
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Salut,

    Je n'ai pas de message d'erreur
    Faut dire qu'avec un
    en début de procédure ça facilite pas l'apparition de messages d'erreur

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 110
    Points : 66
    Points
    66
    Par défaut
    J'ai retiré la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    On Error Resume Next
    Et voici le message d'erreur qui apparait :
    L'expression entrée requiert que le contrôle se trouve dans la fenêtre active

    Si cela vous parle, moi pas trop.
    Et surtout pourquoi ca marche sur certaine base et pas sur une!!!!

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

Discussions similaires

  1. [VBA-Form]Quel objet rajouter pour dessiner dans une userform?
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/09/2008, 11h37
  2. Comment faire pour faire glisser un objet dans une form ?
    Par Olun dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2005, 18h49
  3. [VB.NET] Quel objet tableau pour une recherche indexée ???
    Par Kitano dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/09/2004, 10h38
  4. Création d'un objet d'un form a l'autre
    Par Argonz dans le forum C++Builder
    Réponses: 12
    Dernier message: 03/03/2004, 11h23
  5. [Débutant] Quel objet dialogue choisir ???
    Par Walm dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/01/2004, 15h40

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