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 :

Lislte déroulante avec un contenu qui gère le "contient"


Sujet :

IHM

  1. #41
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2012
    Messages : 284
    Points : 284
    Points
    284
    Par défaut
    Quand je commence la saisie d'un texte dans le champ de saisie et qu'il trouve une correspondance, mon champ la sélectionne et me fait disparaitre tous les autres choix
    Est-ce que à ce moment là ton formulaire affiche ton choix ?
    si oui c'est que tu as mis ton Me.RecordSource qui filtre le formulaire, et qui affiche ce que tu as choisi dans la liste au mauvais endroit :
    il doit être dans le AfterUpdate de ta liste uniquement.

    Si non peux-tu joindre ton code pour voir c qui cloche svp.
    Un travail qui plait est à moitié fait.

  2. #42
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Je viens de constater un truc que je ne comprend pas :

    Dans l'événement Form_Load, j'ai ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.RecordSource = "SELECT FORmation.* FROM FORmation;"
    Et le code de sur changement d'un champ, j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me!Recherche.Text = vbNullString Then Exit Sub
    Quand les deux code sont actifs, sa fonctionne
    Mais si je désactive le bout de code de form_load (car mon formulaire a une autre source), le deuxième code ne fonctionne plus
    Le message d'erreur dit que je ne peut pas utiliser la propriété text car le champ n'est pas actif
    Alors que c'est ce champ que je modifie

    Quelqu'un peut éclairer ma lanterne svp ?

    Merci d'avance
    Les solutions les plus simples sont les plus efficaces

  3. #43
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Du coup, j'ai essayé de basculé mon code sql de source dans le form_load

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.RecordSource = "SELECT FORmation.* FROM FORmation WHERE (((FORmation.FOR_Num)=" & Me.Recherche & "));"
    Et bien ce code là, bloc l’accès propriété text de mon champ

    Alors que celui là, non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.RecordSource = "SELECT FORmation.* FROM FORmation;"
    Les solutions les plus simples sont les plus efficaces

  4. #44
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2012
    Messages : 284
    Points : 284
    Points
    284
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.RecordSource = "SELECT FORmation.* FROM FORmation WHERE (((FORmation.FOR_Num)=" & Me.Recherche & "));"
    doit se trouver dans Sub Recherche_AfterUpdate(), tu ne dois pas le déplacer dans form_load()

    Quand les deux code sont actifs, sa fonctionne
    c'est que tu approches du but

    Mais si je désactive le bout de code de form_load (car mon formulaire a une autre source), le deuxième code ne fonctionne plus
    Le message d'erreur dit que je ne peut pas utiliser la propriété text car le champ n'est pas actif
    Pour le message d'erreur, c'est que le champs Me!Recherche n'a pas le focus alors tu y remédie avec juste avant le Si tu pouvais me noter l'autre source de ton formulaire , ça m'aiderai pour t'aider.

    Je te remets le code de la liste qui gère le contient, vois ce qui diffère de ton 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Option Compare Database
    Option Explicit
    '
     
    Private Sub Recherche_AfterUpdate()
        If Me!Recherche.Text = vbNullString Then Exit Sub
        Me.RecordSource = "SELECT T_Contact.* FROM T_Contact WHERE (((T_Contact.id)= " & Me.Recherche & "));"
        Me!Recherche = vbNullString
    End Sub
     
    Private Sub Recherche_Change()
        Me!Recherche.SetFocus
        If Me!Recherche.Text = vbNullString Then Exit Sub
        If Len(Me.Recherche.Text) > 0 Then
            Me.Recherche.RowSource = "SELECT T_Contact.id, T_Contact.nom, [id] & [nom] AS Recherche FROM T_Contact WHERE ((([id] & [nom]) Like '*" & Me.Recherche.Text & "*'));"
            Me.Recherche.Dropdown
        Else
            ' on revient à la requete d'origine
            Me.Recherche.RowSource = "SELECT T_Contact.id, T_Contact.nom, [id] & [nom] AS Recherche FROM T_Contact;"
        End If
    End Sub
     
    Private Sub Recherche_GotFocus()
        Me.Recherche.RowSource = "SELECT T_Contact.id, T_Contact.nom, [id] & [nom] AS Recherche FROM T_Contact;"
        Me!Recherche = vbNullString
    End Sub
     
    Private Sub cmd_raz_Click()
        Me.RecordSource = "SELECT T_Contact.* FROM T_Contact ;"
    End Sub
     
    Private Sub Form_Load()
        Me.RecordSource = "SELECT T_Contact.* FROM T_Contact;"
    End Sub

    Bien cordialement
    Un travail qui plait est à moitié fait.

  5. #45
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Merci tortille,

    J'ai déjà essayé le Me!Recherche.setfocus mais rien à faire.
    Quand il veut pas, il vaut pas.
    D'ailleurs, le champs a forcément le focus car le code qui se déclenche est le sien en "change"

    Je vais essayé de mettre mon code source dans after udapte mais j'y crois pas
    Les solutions les plus simples sont les plus efficaces

  6. #46
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2012
    Messages : 284
    Points : 284
    Points
    284
    Par défaut
    Bonjour lololebricoleur,

    Si je lève le Me!Recherche.setfocus dans Private Sub Recherche_Change(), j'ai la même erreur que toi, tu dois le laisser.

    c'est quand tu sélectionnes ton choix avec la souris que tu déclenches l'évènement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Recherche_AfterUpdate()
        If Me!Recherche.Text = vbNullString Then Exit Sub
        Me.RecordSource = "SELECT T_Contact.* FROM T_Contact WHERE (((T_Contact.id)= " & Me.Recherche & "));"
     
    '=======================================
    'Là tu quittes Me.Recherche, tu es dans  Me.RecordSource ! ! !
    '=======================================
     
        Me!Recherche = vbNullString
    End Sub
    A la sortie de cet évènement, le Me!Recherche = vbNullString te renvoie sur l'évènement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    rivate Sub Recherche_Change()
        Me!Recherche.SetFocus
        ....
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Recherche_GotFocus()
        Me.Recherche.RowSource = "SELECT T_Contact.id, T_Contact.nom, [id] & [nom] AS Recherche FROM T_Contact;"
        Me!Recherche = vbNullString
    End Sub
    puis retour à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Recherche_Change()
        Me!Recherche.SetFocus
    '=======================================
    Le code reprend à la ligne suivante  et comme tu avais quitté Me!Recherche, pour Me.RecordSource 
    si la ligne du dessus est absente il y a erreur
     
    par contre c'est vrai, Me!Recherche.SetFocus ne sert à rien quand tu es dans Me!Recherche mais il semble que ACCESS ne l'exécute pas à ce moment là.
    '=======================================
     
        If Me!Recherche.Text = vbNullString Then Exit Sub
    .....
    Alors respecte le processus, et quand ça plante ce serait mieux que tu poste toute ta procédure pour comprendre ce qui se passe car tout est lié.

    Bien cordialement.
    Un travail qui plait est à moitié fait.

  7. #47
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Merci tortille,

    Je vais étudier ça et si problème, te mettre tout le code, dsl.

    Merci de ton aide
    Les solutions les plus simples sont les plus efficaces

Discussions similaires

  1. Créer un header bar fixe avec un contenu qui change
    Par nunchaku31 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 22/09/2015, 17h02
  2. Div avec overflow: contenu qui dépasse sous FF
    Par cortex024 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 12/10/2010, 13h30
  3. Remplir un menu déroulant avec le contenu d'un XML
    Par ibson76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/09/2008, 15h57
  4. Requête union avec group by qui gère les 2 requêtes.
    Par juha dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/10/2007, 09h38
  5. [VBA-E]Erreur avec une combobox qui liste le contenu de cell
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/03/2006, 12h01

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