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 :

[ETAT] intégration données


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 344
    Points : 104
    Points
    104
    Par défaut [ETAT] intégration données
    bonjour
    j'ai un etat de type carte du monde avec des etiquettes pour chaque nom de ville et une zone de texte associée où je veux récupérer une qte.

    la source est une table du type nom ville+qte

    je souhaite à l'ouverture de l'etat que dans chaque zone de texte correspondant à ce que j'ai dans ma table, je récupère la qte correspondante

    j'aurais ainsi ma carte (avec toutes les etiquettes de nom de ville en dur) et la qte associée dans la zone de texte variable fonction de ce que j'ai dans ma table source

    c'est peut être tout bete mais rien ne me vient à l'esprit

    merci
    laurent

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 344
    Points : 104
    Points
    104
    Par défaut transfert données table => etat
    bonjour
    je simplifie une demande déjà faite mais à proiori pas claire

    je souhaite savoir comment transferer les valeurs d'une table dans un etat (de type carte)

    exemple, dans ma table source j'ai la structure
    VILLE / QTE
    Le Havre / 200
    Rouen / 300
    Paris / 150
    etc etc

    sur ma carte/etat j'ai dessiné les etiquettes des villes correpondant à ce que j'ai dans ma table source
    j'ai un champ indépendant (zone de texte) associé à chaque etiquette ou je souhaite faire apparaitre la quantité correpondante trouvée dans ma table

    (si je mets ma table en tant que source de mon etat et mon champ QTE en tant que source controle de ma zone de texte (donc plus indépendant), ça me renvoie le premier enregistrement de ma table, je n'arrive pas à faire en sorte qu'il faut descendre jusqu'à la ville correpondante

    une idée peut être ?

    merci
    laurent



    exemple, si


    savez vous comment faire

  3. #3
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    je souhaite à l'ouverture de l'etat que dans chaque zone de texte correspondant à ce que j'ai dans ma table, je récupère la qte correspondante
    Voici une façon très basique de réaliser cette action......c'est juste un exemple, d'autres méthodes plus simples sont possibles....

    Une table [T_VILLE] ayant comme champs:
    ID_VILLE (numérique et clef primaire)
    VILLE (texte)
    QTE (numérique)
    1 / Le Havre / 200
    2 / Rouen / 300
    3 / Paris / 150

    Un état avec ta carte en fond de ta zone détail
    Sur cet état tu place tes différents champs indépendants que tu nomme de façon précise (Texte1, Texte2....etc)

    Sur la propriété "Au formatage" de la zone détail, le code suivant:
    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
    Dim DB As DAO.Database
    Dim RS As DAO.Recordset
    Dim NbrRecord As Integer
     
    'Ouverture de la table
    Set DB = Application.CurrentDb
    Set RS = DB.OpenRecordset("T_VILLE")
    'Récupère le nombre d'enregistrement
    RS.MoveLast
    NbrRecord = RS.RecordCount
     
    'Remplissage du tableau
    ReDim QteVille(NbrRecord) As Integer
    RS.MoveFirst
    For i = 1 To NbrRecord
        QteVille(i) = RS![QTE]
        RS.MoveNext
    Next i
    'Fermeture et libération des objets
    RS.Close
    DB.Close
    Set RS = Nothing
    Set DB = Nothing
     
    '### Remplissage de chaque champ contenue sur l'état ###
    Me.Texte1 = QteVille(1)
    Me.Texte2 = QteVille(2)
    Me.Texte3 = QteVille(3)
    Me.Texte4 = QteVille(4)
    Me.Texte5 = QteVille(5)
    End Sub
    Dans cet exemple j'ai utilisé la méthode "bourin" pour remplir tes différents champs......
    A la place tu peux créer une boucle qui ira lire chaque valeur de ton tableau pour les copier dans tes champs indépendants.
    Tu peux également éviter l'utilisation d'un tableau et lire directement tes valeurs à partir de la table [T_VILLE].

    Essaie d'adapter à ton application et dis nous si tu rencontre un problème...
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 344
    Points : 104
    Points
    104
    Par défaut
    bonjour et merci
    entre tps j'ai trouvé une combine, à force de chercher sur le forum, j'ai utilisé une technique du type "for each" et rempli les "zone de texte" de mon etat en balayant ma table source pour les etat!zone de texte(Name) = table!champ(name).
    ça marche super bien, ce qui me manquait et que j'ai donc decouvert est que cette procedure doit être faire dans la section detail / evenement sur impression, et là c'est parfait
    merci
    a+
    lb

  5. #5
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Bien sur l'important c'est que ta solution fonctionne.....
    ....mais comme je te le disais tu peux réaliser cela simplement en lisant directement tes valeurs à partir de la table [T_VILLE].

    Le principe, c'est qu'il faut que les champs (Texte1, Texte2,....) présents sur ton état correspondent exactement au nom des villes contenues dans ta table.
    Ensuite sur l'événement "Au formatage" de la section Détail de ton é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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    Dim DB As DAO.Database
    Dim RS As DAO.Recordset
    Dim NbrRecord As Integer
     
    'Ouverture de la table
    Set DB = Application.CurrentDb
    Set RS = DB.OpenRecordset("T_VILLE")
    'Récupère le nombre d'enregistrement
    RS.MoveLast
    NbrRecord = RS.RecordCount
     
    'Lecture et écriture des valeurs dans chaque champ
    'Ici, Texte1 contiendras la valeur du premier champ QTE de ta table T_VILLE
    'Texte2 contiendras la valeur du deuxième champ QTE......et ainsi de suite.
    RS.MoveFirst
    For i = 1 To NbrRecord
        Me.Controls("Texte" & i).Value = RS![QTE]
        RS.MoveNext
    Next
    'Fermeture et libération des objets
    RS.Close
    DB.Close
    Set RS = Nothing
    Set DB = Nothing
     
    End Sub
    Voila simple et rapide.......
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/08/2008, 10h47
  2. Réponses: 3
    Dernier message: 15/04/2008, 18h17
  3. etat sans données et VBA
    Par gui-llaume dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/11/2007, 10h00
  4. Réponses: 7
    Dernier message: 20/07/2006, 08h42
  5. Etat et données de relations
    Par Linko dans le forum IHM
    Réponses: 2
    Dernier message: 16/06/2006, 18h05

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