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

VBA Access Discussion :

Remplir les champs independant dans un Formulaire


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 81
    Points : 51
    Points
    51
    Par défaut Remplir les champs independant dans un Formulaire
    Bonjour tout le monde,

    Je marche dans la brume depuis hier à la recherche de ma solution mais en vain.

    Sous Access 2007 je veux remplir mes lignes d'enregistrements dans mon formulaire.
    Les champs sont indépendant et le nombre d'enregistrement varient selon le contenu de la table.

    J'ai tenté quelques lignes de code mais mon résultat ne me donne que le dernier enregistrement et je comprends. Mais je ne sais plus comment m'En sortir.

    Je vous copie une partie de mon code.

    merci a tous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      Set db = CurrentDb()
      Set rst = db.OpenRecordset("SELECT * from [@PORTABLENEUF]")
     
     
        Do While Not rst.EOF
     
     
            Me.InPartNumber = rst!partnumber
            Me.Indescription = rst!Description
            Me.InDispo = rst!Dispo
            Me.InDispoAvecAchat = rst!Dispoavecachat
        rst.MoveNext
       Loop

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    Bonjour,

    En fait, il remplit plusieurs fois ton formulaire, mais tu n'arrive a voir que le dernier remplisage:

    si tu mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set db = CurrentDb()
      Set rst = db.OpenRecordset("SELECT * from [@PORTABLENEUF]")
     
        if  Not rst.EOF then
     
            Me.InPartNumber = rst!partnumber
            Me.Indescription = rst!Description
            Me.InDispo = rst!Dispo
            Me.InDispoAvecAchat = rst!Dispoavecachat
        end if
    t'auras que le premier (pas de boucle).
    Qu'est-ce que tu veux faire avec ces donnés?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 81
    Points : 51
    Points
    51
    Par défaut
    Je voudrais voir tous les enregistrements dans mon formulaire. Pas juste le premier ou le dernier

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    Ton formulaire est-il en mode feuille de donnés?
    Peut-être lié à une table?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 81
    Points : 51
    Points
    51
    Par défaut
    Il est en Formulaires continus.

    Je ne relie pas le formulaire à une table.
    La raison est que je veux mettre les enregistrements à jour aussi souvent que je le veux par un bouton 'RefreshData' que je vais mettre dans mon formulaire.

    Ce formulaire contient l'inventaire de produit et est en multiusager pour consultation.
    Le but est que lorsque les usagers sont dans le formulaire, je veux qu'ils puissent mettre à jour les données du formulaire.

    Je n'ai pas trouvé d'aute moyen que de le faire de cette façon.

    Au click sur le bouton, j'efface la table et je la recrée en appelant ma requête et je veux réafficher le réulstat dans le formulaire.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    Je ne compreds pas pourquoi ne pas faire avec une table liée...
    Comme ça, lorsque le formulaire soit ouvert, t'auras tous les enregistrements, pas besoin de cliquer sur le bouton.

    En plus, je pense que si le formulaire est ouvert et qui quelqu'un met u nnouveau enregistrement dans la table, il ne vas pas aparaitre sans faire un refresh (en appuiant sur le bouton), et donc t'auras le même effect, non?
    (là je ne suis pas sure car je ne travaille pas beaucoup avec des formulaires en continus...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 81
    Points : 51
    Points
    51
    Par défaut
    Je crée ma table locale à partir d'une table ODBC sur le serveur.
    Donc si je veux avoir mes données à jours je me dois de réexécuter ma requête création de table.
    Les usagers doivent pouvoir rafraichir les données du formulaire aussi souvent qu'ils le veulent.

    Si je lie ma table à mon formulaire et que le formulaire est ouvert, je ne peux réexécuter ma requête création car le table est ouverte donc j'obtiens un erreur 'table lockée)

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    D'accord, maintenant j'ai compris le soucis...
    Comme j'ai dit, j'ai pas trop d'experience avec des formulaires continus...

    Une option pour les tables liées serait de ne pas créer la table mais de l'effacer et rajouter des donnés par biais d'une requete d'ajout, je pense qu'il pourrait marcher...

  9. #9
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 43
    Points
    43
    Par défaut Code du bouton CmdSuivant sur formulaire access independant
    Salut, ce n'est pas pour repondre avec la question mais c'est pour ajouter.
    j'ai Presque le meme probleme, j'ai rempli les champs d'un formulaire access independent a l'aide d'un recordset dao, mais je ne peux pas programmer le bouton suivant (MoveNext). Le probleme c'est que mon formulaire n'est lie a aucune table. aidez moi svp.

Discussions similaires

  1. [2.x] Pré-remplir les champs dates d'un formulaire sous Symfony2
    Par jlievens dans le forum Symfony
    Réponses: 2
    Dernier message: 19/06/2014, 16h24
  2. Réponses: 2
    Dernier message: 16/10/2009, 08h52
  3. [VB6 PDF]Remplir les champs d'un formulaire PDF avec VB6
    Par JTrosset dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 29/09/2009, 11h02
  4. pré-remplir les champs d'un formulaire
    Par minie dans le forum Struts 1
    Réponses: 12
    Dernier message: 27/08/2009, 00h38
  5. Remplir les champs d'un formulaire situe sur une autre page ouverte
    Par Dazdh dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/07/2009, 17h01

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