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

Bases de données Delphi Discussion :

[Delphi 7] [Dbase 4] Pointer élégamment sur un enregistrement


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 176
    Points : 123
    Points
    123
    Par défaut [Delphi 7] [Dbase 4] Pointer élégamment sur un enregistrement
    Bonjour.
    Mon projet : balayer une liste de numéros d'enregistrement (RecNo) et atteindre les enregistrements correspondant à ces numéros. Ça marche, voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // dans la boucle de balayage, je récupère un numéro nommé ici NumRecNo
    // pour atteindre l'enregistrement :
       NumRecNo:=NumRecNo-1;
       Form1.Table1.First;
       if NumRecNo > 0 then
          Form1.TableEssai.MoveBy(NumRecNo);
    Connaissez-vous plus élégant (façon GoTo NumRecNo comme dans mon vieux Clipper 5) ?
    D'avance merci.
    Alain
    Ce qui est simple et évident pour soi-même ne l'est pas forcément pour les autres... et réciproquement !

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    à défaut d'être plus élégant, la propriété RecNo est en lecture/écriture ce qui vous permettra de faire directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.TableEssai.RecNo := NumRecNo;
    Mais surtout utiliser le RecNo avec MoveBy est potentiellement source d'erreur. MoveBy déplacement l'enregistrement courant du nombre d'enregistrements passé en paramètre. Donc un NumRecNo de 4 ne fait pas forcément aller à l'enregistrement n° 4 mais déplace l'enregistrement de 4 positions vers l'avant (équivalant de 4 fois Next).

    Donc surtout ne pas utiliser RecNo et MoveBy.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 176
    Points : 123
    Points
    123
    Par défaut
    Merci beaucoup !
    Cette solution est évidemment plus élégante puisque plus concise.
    Bonne fin d'après-midi.
    Cordialement,
    Alain
    Ce qui est simple et évident pour soi-même ne l'est pas forcément pour les autres... et réciproquement !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/03/2007, 12h02
  2. [JUnit] Pointer null sur objet testé
    Par Mister Nono dans le forum Tests et Performance
    Réponses: 11
    Dernier message: 29/03/2007, 10h38
  3. Word<->Access 2002 : pointer sur des enregistrements
    Par carsinus dans le forum Access
    Réponses: 1
    Dernier message: 06/10/2006, 20h10
  4. Réponses: 2
    Dernier message: 30/10/2005, 14h38
  5. Connecter Delphi 7 et une bd mysql sur un poste distant
    Par nordine001 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/08/2004, 14h40

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