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 :

Zone de recherche - Barre d'outils


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Zone de recherche - Barre d'outils
    Bonjour,

    Tout d'abord je suis désolé si je poste sur le mauvais forum.. J'ai l'impression que celui-ci est plus fait pour les porblemes de base de données que pour les développements Access. Mais c'est celui qui me semblait le plus "juste"..

    Mon probleme est tout simple.. je developpe une application Access2000 en VBA 6.0 et je voudrais personnaliser ma barre d'outils..
    Je cherche à creer directement dans la barre une zone de recherche où l'utilisateur n'aurait qu'à taper un numéro de commande et ensuite à cliquer sur un bouton "rechercher" pour ouvrir le formulaire correspondant à la bonne commande..

    Je n'arrive pas à creer le bouton personnalisé me permettant d'ouvrir une zone de saisie directement adns la barre d'outils..

    Voilà...Si je ne suis pas assez clair...Je peux peut-etre préciser..
    En tout cas merci d'avance pour votre aide..

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Voici un exemple pour créer un combo...
    Espérant que ça t'aideras....
    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
     
    Private Sub CreateComboToolBar(ByVal CBWidth As Integer, ByVal TargetToolbar As Toolbar)
    Const COMBO_BOX As String = "ComboBox"
    Dim oTBButton As Button
     
      Me.Show
      Set oTBButton = TargetToolbar.Buttons.Add()
      oTBButton.Style = tbrSeparator
      Set oTBButton = TargetToolbar.Buttons.Add()
      oTBButton.Style = tbrPlaceholder
      oTBButton.Key = COMBO_BOX
      oTBButton.Width = CBWidth
      DoEvents
      With Combo1
         .ZOrder 0
         .Width = TargetToolbar.Buttons(COMBO_BOX).Width
         .Top = TargetToolbar.Buttons(COMBO_BOX).Top
         .Left = TargetToolbar.Buttons(COMBO_BOX).Left
      End With
    End Sub
    Argy

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Excuse mon ignorance...

    Mais qu'est ce qu'un combo?A quel endroit faut il le placer dans son code?

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Bon il faut éclaircir quelque chose... Quel est ton niveau en matière de développement ?
    Tu développes quoi et où ? avec quel outil, Access et VBA ou Visual Basic 6.0 ?
    Un combo est un contrôle OCX qui se présente sous forme de liste déroulante.

    Argy

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Salut..

    Désolé pour le délai mais là c'était WE et ca fait du bien...

    Alors je developpe une application ACCESS2000 qui tourne sur un serveur SQL 7.0 avec VBA 6.0..
    Le truc que j'arrive pas a saisir en fait et que lorsque tu rajoutes des boutons, des barres de menu dans ta barre d'outil..tu choisis quel bouton rajouté à partir du menu personnalisé...ou quel fonction associé avec un bouton dans le menu propriété des boutons..
    Mais que faire dans le cas ou le bouton que je veux créer n'existes pas? (cas d'un zone de saisie de texte....)..A quel endroit peut parametrer de nouveau bouton avec de nouvelles fonctions?Est ce que c'est possible??
    Et en quoi les combo me permettent de le réaliser ou de contourner le probleme...

    Merci en tout cas..C'est sympa de ta part de t'occuper de mon probleme...J'espere qu'on y arrivera..
    A bientot,
    Lucien

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    L'exemple que je t'ai donné est l'implémentation d'un combo dans une barre d'outils comme il en existe pour la liste des polices par exemple. Tu peux y mettre une zone de texte, si comme je le suppose, tu utilises un contrôle de type ToolBar.

    Si ton dev concerne VB6 il faut que tu changes de forum; cela n'a rien à voir avec Access.

    Argy

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je développe une application Access2000 en utilisant VBA 6.0 et non pas une appli en VB6.. Je ne sais pas si c'est le bon forum.. et je peux changer si c'est pas le cas..

    Sinon j'ai réussi à créer une zone de texte (grace à un site assez bien fait la dessus je peux donner le lien mais je ne sais pas si la charte du forum le permets).. Voici le code :

    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
     
    'Barre de menu
        Dim BarreOutil As CommandBar
        Dim TexteRechercheCommande As CommandBarComboBox
     
        Set BarreOutil = CommandBars("Principal")
        Set TexteRechercheCommande = BarreOutil.Controls.Add(msoControlEdit)
     
        TexteRechercheCommande.OnAction = "Mn_RechercheCommande"
        TexteRechercheCommande.Tag = "texte"
        TexteRechercheCommande.Width = 40
        TexteRechercheCommande.ToolTipText = "Entrez un numéro de commande"
     
        CommandBars("Principal").Position = msoBarTop
        CommandBars("Principal").Visible = True
    Je place ce code lors de l'ouverture du formulaire d'accueil de l'application.

    Mon souci maintenant est plus simple, je cherche juste à placer ce bouton dans un nouveau groupe afin de le demarquer des autres boutons. et je voulais savoir s'il était possible de tester la presence de ce nouveau bouton avant d'executer sa création..

    Bonne journée et merci d'avance,
    Lucien

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu es dans le bon Forum, c'est moi qui n'ai pas les yeux en face des trous

    Pour contrôler l'existence de ton objet, utilise la propriété Tag;
    D'ailleurs, nomme la autrement que "texte".

    Argy

  9. #9
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci pour le réponse rapide..

    J'ai essayé avec la propriété Tag mais je ne dois pas le coder correctement car ca ne marche pas..
    J'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if not TexteRechercheCommande.Tag = "NumeroCommande" then
    ....instruction....
    end if
    J'essaie de verifier si le Tag du bouton est déjà initialiser en fait avant de le créer s'il ne l'ai pas..
    Je voulais aussi savoir si on pouvait definir ce bouton dans un nouveau groupe??

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Tu dois faire ta recherche de l'existence avec un For Each/Next...
    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For Each CBar In CommandBars
      If CBar.Type = msoBarTypePopup Then
        For Each CT In CBar.Controls
          If CT.Tag = "MonTag" Then
            Exit For
          End If
        Next
      End If
    Next
    Tu dois contrôler aussi la propriété Name de manière à sortir du For même si le contrle.tag n'est pa trouvé. Ca sert à rien de parcourir les autres barres.

    Argy

  11. #11
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci...

    J'ai trouvé une autre facon de faire et ca marche pas mal...
    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
     
    'Barre de menu
        Dim BarreOutil As CommandBar
        Dim TexteRechercheCommande As CommandBarComboBox
     
        'Variable de test sur le bouton crée
        Dim TestBouton As CommandBarComboBox
     
        Set BarreOutil = CommandBars("Principal")
        Set TestBouton = BarreOutil.FindControl(, , "NumeroCommande")
     
        'Si le bouton existe déjà
        If TestBouton Is Nothing Then
            Set TexteRechercheCommande = BarreOutil.Controls.Add(msoControlEdit)
     
            With TexteRechercheCommande
                .OnAction = "Mn_RechercheCommande"
                .Tag = "NumeroCommande"
                .Width = 40
                .ToolTipText = "Tapez Entrée pour valider"
            End With
        End If
     
        BarreOutil.Position = msoBarTop
        BarreOutil.Visible = True
    Je teste si la fonction FindControl me trouve quelque chose ou "Nothing"..
    Par contre pour le systeme de groupe je me suis arrangé autrement mais par curiosité si quelqu'un savait quelque chose la dessus..
    Et je voulais savoir si je pouvais mettre le lien vers la page web qui m'a permis de trouver l'astuce..si ca peut aider quelqu'un...

    Voilà merci encore pour ton aide..
    Lucien

  12. #12
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    C'est une autre façon de procéder.
    Mais le monde des CommandBars est si vaste que de nombreuse solutions sont applicables.

    Tu peux clore le dossier si tu estimes que tu en as fini là.

    Argy

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/05/2012, 09h22
  2. zone texte avec barre d'outil vb.net
    Par faiez007 dans le forum VB.NET
    Réponses: 7
    Dernier message: 06/04/2012, 17h12
  3. [XL-2003] Recherche nom VBA de barres d'outils
    Par brunop3165 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/11/2009, 16h28
  4. [VB6] [Interface] Icones de boutons de barre d'outils
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 13/09/2002, 15h50
  5. Barre d'outils
    Par MANU_2 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/08/2002, 22h48

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