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 :

Savoir si on est a la fin d'une ligne dans une table


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Savoir si on est a la fin d'une ligne dans une table
    Bonjour

    Je veux sous Access 2002 remplir mes text box en parcourant mes tables.
    J'ai donc installer la reference Microsoft DAO 3.6Object Library,
    et je me sert de recordset et de requete SQL pour parcourir mes données.
    Cependant mon probleme est que:
    J'ai une requette qui me retourne une seule ligne de donnée (ce que je souhaite)
    Je souhaite parcourir cette ligne jusqu'a la fin pour a chaque champ remplir un text box
    Mais je ne sais pas lorsque j'arrive a la fin et donc il me met une erreur comme quoi le champ que je cherche n'existe pas.
    Donc comment puis-je savoir que j'arrive a la fin de ma ligne?

    J'ai essayer oRst.EOF, mais il ne passe jamais a True, donc je pense que ce n'est pas ca, ou alors j'ai oublier de faire des inintialisations?

    Pour info, voici mon code avec EOF (qui ne marche pas evidement):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    I = 1
    Do While oRst.EOF = False
        'While we are not at the last case of the record
        If oRst.Fields(I ).Value > 0 Then
            'Write the field (e.g.: Software)
            Call Write_In_Box(Current_Line, "Middle", oRst.Fields(I ).Name)
            'Write The value
            Call Write_In_Box(Current_Line, "Right", oRst.Fields(I ).Value)
            Current_Line = Current_Line + 1
        End If
        I = I + 1
    Loop
    D'avance Merci pour vos reponses

  2. #2
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 792
    Points : 3 061
    Points
    3 061
    Par défaut
    N'aurais-tu pas oublier oRst.MoveNext dans ta boucle ?


  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Non, il ne m'ai pas utile ici car si j'ai bien compris (ce qui n'est pas sur)
    rst.MoveNext sert a aller a l'enregistrement suivant.
    Alors que moi je n'ai qu'un enregistrement et ce que je veut, c'est aller au champs suivant.

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    J'ai la reponse meme si ce n'est pas moi qu'il l'ai trouver.
    Il suffit de rajouter le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nb_champs = rst1.Fields.Count
    Do while nb_champs > 0
          (...)
          nb_champs = nb_champs - 1
    Loop
    Cela permet de compter les champs et de s'arreter a temps.

    Voila probleme resolu.

    A bientot

  5. #5
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 792
    Points : 3 061
    Points
    3 061
    Par défaut
    Tu parlais de oRs.Eof; de là j'ai pensé que tu voulais passer à un autre record.

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

Discussions similaires

  1. [Toutes versions] Récupérer des valeurs dans une ligne dont une seule cellule est selectionnée
    Par Tommy57 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/02/2010, 20h37
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. Est-il possible de retourner la source d'une page dans une variable ?
    Par sachav dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/12/2007, 18h02
  4. Réponses: 1
    Dernier message: 19/02/2007, 16h58
  5. masquer les lignes dans une zone si une cellule de la ligne est vide
    Par keguira dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/11/2006, 18h21

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