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

WinDev Discussion :

HnumEnr() en SQL


Sujet :

WinDev

  1. #1
    Membre actif
    Inscrit en
    Avril 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 308
    Points : 231
    Points
    231
    Par défaut HnumEnr() en SQL
    Bonjour,

    Dans l'optique d'améliorer le code d'une application je cherche un moyen de traduire des "boucles" hlitpremier... en requête sql.
    Dans un bout de code j'ai besoin de retrouver le numéro d'enregistrement dans le fichier hyperfile, mais je trouve pas d’équivalent SQL a cette fonction.

    Une piste ? Merci

  2. #2
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Bonjour,

    Désolé mais je ne crois pas que cela soit possible.
    le numenr est une info qui est liée au moteur hyperfile et pas aux données (pour preuve, il change a chaque ré indexation) donc a mon avis il n'existe pas d'ordre normalisé SQL pour le récupérer.
    Il est préférable d'introduire des identifiants uniques dans la base (auto ou non)

    A voir si quelqu'un autre a une idée.
    Christophe.

    Tous les chemins mènent à Rome http://doc.pcsoft.fr/fr-FR/

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 136
    Points : 241
    Points
    241
    Par défaut
    Sur Oracle il y a la notion de ROWID

  4. #4
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Au risque de me tromper :
    Le numéro d'enregistrement dépend de l'ordre (ORDER BY)
    c'est simplement un compteur.
    ainsi lorsque l'on fait
    HLitRecherche(NomFichier,NomRubrique,valeur) l'ordre de parcours est indexé sur le sens de parcours définit dans l'analyse.
    Si la rubrique n'est pas une clé l'ordre est déterminé par la clé primaire du fichier.
    Si il y a plusieurs clé uniques le moteur prends en priorité celle qui est la plus simple à parcourir.Ainsi le HNumEnr est en réalité un compteur tenant compte de cet ordre. Il n'est pas Fixe. En faisant plusieurs requêtes avec les fonctions H sur le même fichier mais sur des rubriques différentes on obtien des HNumEnr différents.
    Donc si tu fais une requete SQL puis un parcours sur cette requête tu mémorise le compteur et tu peux faire un HLit avec le compteur.
    A condition bien sur de ne pas refaire de requête avec la même source de données.

Discussions similaires

  1. L'avenir du BDE et des SQL Links révélé ! <officiel>
    Par Merlin dans le forum Bases de données
    Réponses: 12
    Dernier message: 02/06/2006, 10h18
  2. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39
  3. Backup BD SQL Server
    Par Ethmane dans le forum Administration
    Réponses: 3
    Dernier message: 07/06/2002, 00h42
  4. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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