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 :

Ouvrir une sélection de TABLES selon la valeur d'un champ


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    NC
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NC
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Points : 51
    Points
    51
    Par défaut Ouvrir une sélection de TABLES selon la valeur d'un champ
    Bonjour,


    Je vous expose mon problème sous ACCESS 2010:

    • La table PAYS comporte les champs: PAYS et FICHIER
    • Les tables France, Suisse comportent: CP et VILLE
    • La table CLIENT comporte le champ PAYS où l'on sélectionne la pays depuis la table PAYS.
      Et je souhaite choisir ensuite CP & VILLE de la table correspondant au pays sélectionné précédemment.


    Est-ce une requête à créer de type RecordSet, ou y aurait-il un moyen plus simple ?
    Et je ne souhaite pas créer une table avec tous les CP & VILLE des pays et utiliser une requête de type filtre sur la sélection.


    Tout lien vers un tuto ou faq serait bienvenu. D'avance, merci aux participants.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je suppose que cela se passe dans un même formulaire :
    - tu as une liste déroulante qui te permet de choisir le pays
    - tu as deux autres listes qui permettent de choisir le CP et la Ville.

    Pour suivre ton idée, il faut
    - imposer que l’utilisateur choisisse le pays (par exemple en désactivant CP et Ville tant que ce choix n’est pas opéré) ;
    - dans l’événement Après mise à jour de la zone de liste Pays, modifier la propriété « Contenu » des 2 autres zdl pour y mentionner la table ad hoc.

    Je te suggère de regarder ce tutoriel http://fauconnier.developpez.com/tut...ses-proprietes, non pour la question que tu poses, mais pour voir comment on peut choisir en 1 seul coup à la fois le CP et la Ville.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre du Club
    Homme Profil pro
    NC
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NC
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Points : 51
    Points
    51
    Par défaut
    Je suis entrain de m'exercer sur l'excellent tuto fourni en lien.
    Mais je ne sais pas comment ajouter l'évènement me permettant de faire un copier/coller sur toute la colonne.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    Declare Function OpenClipboard Lib "User32" (ByVal hwnd As Long) _
       As Long
    Declare Function CloseClipboard Lib "User32" () As Long
    Declare Function GetClipboardData Lib "User32" (ByVal wFormat As _
       Long) As Long
    Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags&, ByVal _
       dwBytes As Long) As Long
    Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) _
       As Long
    Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) _
       As Long
    Declare Function GlobalSize Lib "kernel32" (ByVal hMem As Long) _
       As Long
    Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, _
       ByVal lpString2 As Any) As Long
     
    Public Const GHND = &H42
    Public Const CF_TEXT = 1
    Public Const MAXSIZE = 4096
     
    Function ClipBoard_GetData()
       Dim hClipMemory As Long
       Dim lpClipMemory As Long
       Dim MyString As String
       Dim RetVal As Long
     
       If OpenClipboard(0&) = 0 Then
          MsgBox "Cannot open Clipboard. Another app. may have it open"
          Exit Function
       End If
     
       ' Obtain the handle to the global memory
       ' block that is referencing the text.
       hClipMemory = GetClipboardData(CF_TEXT)
       If IsNull(hClipMemory) Then
          MsgBox "Could not allocate memory"
          GoTo OutOfHere
       End If
     
       ' Lock Clipboard memory so we can reference
       ' the actual data string.
       lpClipMemory = GlobalLock(hClipMemory)
     
       If Not IsNull(lpClipMemory) Then
          MyString = Space$(MAXSIZE)
          RetVal = lstrcpy(MyString, lpClipMemory)
          RetVal = GlobalUnlock(hClipMemory)
     
          ' Peel off the null terminating character.
          MyString = Mid(MyString, 1, InStr(1, MyString, Chr$(0), 0) - 1)
       Else
          MsgBox "Could not lock memory to copy string from."
       End If
     
    OutOfHere:
     
       RetVal = CloseClipboard()
       ClipBoard_GetData = MyString
     
    End Function

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Mais je ne sais pas comment ajouter l'évènement me permettant de faire un copier/coller sur toute la colonne.
    Précise ta question, où coinces-tu ? Il n'est sûrement pas question d'un code comme celui que tu montres !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Je débute sur access, mais ça me rappelle un de mes soucis.
    Est-ce qu'une liste déroulante restreinte ferait l'affaire?
    http://www.info-3000.com/access/listerestreinte/

    Désolé si je suis à coté de la plaque

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je débute sur access
    En soi, c'est une excellente idée...

    Est-ce qu'une liste déroulante restreinte ferait l'affaire?
    non, pas vraiemnt le sujet de la question...
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Voici un exemple avec 2 pays :




    La source des zones de liste s’adapte à chaque enregistrement en fonction du pays




    Il n’est possible d’encoder le CP et la Ville si le pays n’est pas défini




    On choisit indifféremment le code ou la ville : un seul choix entraine la mise à jour de l’autre contrôle.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Option Compare Database
    Option Explicit
     
    Private Sub CboPays_AfterUpdate()
      Me.cboCP.RowSource = "SELECT CP, ""   "" AS Espace, Ville, id FROM " _
                  & Me.CboPays.Column(1) & " ORDER BY CP;"
      Me.cboVille.RowSource = "SELECT Ville, "" "" AS espace, CP, id FROM " _
              & Me.CboPays.Column(1) & " ORDER BY Ville;"
     
    End Sub
     
    Private Sub Form_Current()
      If Me.NewRecord Then
          Me.cboCP.RowSource = ""
          Me.cboVille.RowSource = ""
        Else
          Me.cboCP.RowSource = "SELECT CP, ""   "" AS Espace, Ville, id FROM " _
                  & Me.CboPays.Column(1) & " ORDER BY CP;"
          Me.cboVille.RowSource = "SELECT Ville, "" "" AS espace, CP, id FROM " _
              & Me.CboPays.Column(1) & " ORDER BY Ville;"
          Me.cboCP.Requery
          Me.cboVille.Requery
      End If
    End Sub
    La BdD se trouve ici : http://claudeleloup.developpez.com/&...3Breweryfr.mdb
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #8
    Membre du Club
    Homme Profil pro
    NC
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NC
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Points : 51
    Points
    51
    Par défaut
    Merci, cela ressemble beaucoup à ce que je cherche.
    Lorsque l'on se trouve en création dans le formulaire, peut-on définir des variables par défaut ?
    Par exemple, fixer le pays 'France' par défaut, sinon en choisir un autre.


    Ma question précédente étant de faire un copier/coller du contenu d'un champs à l'ensemble de la colonne comme on fait sous excel.
    Actuellement, je parcours le tuto mis en lien ci-dessus, et la table des villes doit comporter le pays.

  9. #9
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Intéresse-toi à la propriété Valeur par défaut du contrôle de ton formulaire.

    Dans ton cas, regarde quelle est la valeur du contrôle qui provoque l'affichage "France".
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Désolé, j'utilise Access2000 : je ne peux lire ton fichier.

    Vois ici la procédure pour convertir en Access2000.
    N.B. M'a été communiquée in illo tempore, par jimbolion, que je salue et remercie au passage.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Voici.

    Désolé, je n'ai pas trouvé de liste pour le Luxembourg.

    Par défaut, le pays est France le format conditionnel n'a plus de raison d'être.

    J'ai corrigé ton code relatif à la construction des requêtes dans tes zones de liste.
    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  12. #12
    Membre du Club
    Homme Profil pro
    NC
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NC
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Points : 51
    Points
    51
    Par défaut
    Merci j'y travaille dessus ce week-end. A lundi

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

Discussions similaires

  1. MAJ Champs d'une table selon sa valeur et une table de correspondance
    Par eduardo9231 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 26/06/2012, 10h53
  2. Réponses: 5
    Dernier message: 29/01/2010, 14h22
  3. Créations de table selon les valeurs d'une variable
    Par rocsylcanar dans le forum SAS Base
    Réponses: 9
    Dernier message: 27/05/2009, 12h22
  4. Trier une table selon la valeur d'un champ
    Par nandofive dans le forum Débuter
    Réponses: 4
    Dernier message: 23/11/2008, 08h18
  5. Réponses: 2
    Dernier message: 16/04/2008, 00h18

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