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

HyperFileSQL Discussion :

[WD9] Numéros d'enregistrement inversés


Sujet :

HyperFileSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Par défaut [WD9] Numéros d'enregistrement inversés
    Bonjour,

    Je remplis et supprime plusieurs fois un fichier HF avec les mêmes données.
    Je constate que la première fois les numéros d'enregistrements sont dans l'ordre croissant et la fois suivante dans le sens décroissant.
    ceci est gênant dans l'utilisation de la fonction HLitcherchedernier.

    Comment faire ?

    Merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Il faudrait plus de précisions :
    • sur ce que tu entends par "ordre"
    • avec quel outil tu visualises le fichier
    • les rubriques du fichier
    • ton code
    • etc.
    plus on aura de rpécisions plus tu auras de chances d'avoir une réponse valide.

    Sinon, je ne vois pas très bien le rapport entre l'ordre des enregistrements et la recherche ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Par défaut
    Voici mon code:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    HLitPremier(TestPassages6)//efface fichier
    TANTQUE PAS HEnDehors(TestPassages6)
    	HSupprime(TestPassages6)
    	HLitSuivant(TestPassages6)
    FIN
    x est un entier;h est un numérique;y est une chaîne
    HLitPremier(Passages4)
    ch est une chaîne
    TANTQUE PAS HEnDehors(Passages4)
    ch=Passages4.Passage
    x=Position(ch,"$")
    SI (Position(ch,RC)<>0 ET Gauche(ch,1)="0") OU Gauche(ch,1)="#" ALORS
    // Fin du passage précédent	
    SI Psg<>"" ALORS 
    	y=Milieu(Psg,6,6)
    	HLitRechercheDernier(TestPassages6,Transpondeur,Milieu(Psg,6,6))
    		SI HTrouve ALORS
    			h=TestPassages6.heuredéc
    		FIN
    TestPassages6.num=DerNum6+1;DerNum6=DerNum6+1
    //Stocke le Num du passage précédent
    		TestPassages6.Transpondeur=Milieu(Psg,6,6)
    //Stocke le Transpondeur(hexa) du passage précédent
    		TestPassages6.HeureHexa=Milieu(Psg,12,8)
     
    		TestPassages6.Heuredéc=HexaVersEntier(Milieu(Psg,12,8))
    	SI h<>0 ALORS
    		TestPassages6.temps=HexaVersEntier(Milieu(Psg,12,8))-h
    	SINON
    		TestPassages6.temps=0
    	FIN 
    HAjoute(TestPassages6)
    Psg=""
    	FIN
    	SI x<>0 ALORS 
    //Nouveau passage
    		Psg=Droite(ch,Taille(ch)-x+1)
    	FIN
    SINON
    	Psg=Psg+ch
    FIN
    HLitSuivant(Passages4)
    FIN
    On lit le fichier la rubrique "Passage" du fichier "Passages4" , après sélection selon les conditions de Si(Position......), on concaténe plusieurs enregistrement de passage pour les inscrire dans le fichier "Testpassages6" dans les rubriques "Transpondeur" et "heureHexa"
    La rubrique "HeureDéc" est renseignée par la fonction "HexaVersEntier"
    La rubrique "num" est une numérotation automatique des enregistrements (c'est la seule clé du fichier "Testpassages6")
    Avant de saisir ces informations dans le fichier, je lis le dernier enregistrement correspondant au "Transpondeur" contenu dans ces informations.
    HlitRechercheDernier ne lit pas toujour le dernier entregistrement correspondant au tranpondeur en question.

    Je continue mon explication:
    En visualisant le fichier avec WDMap, j'ai constaté que les résultats de la recherche sont corrects lorsque les numéros d'enregistrement sont classés dans l'ordre croissant et faux lorsque les numéros d'enregistrements sont classé dans l'ordre décroissant (dans ce cas la fonction HLirRchercheDernier ne se positionne pas toujours dans le dernier enregistrement correspondant au critère du transpondeur) et dons la soustraction de l'heure précédente à l'heure actuelle est inexacte)

    Merci pour votre patience

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Par défaut
    ...
    HLitRechercheDernier(TestPassages6,Transpondeur,Milieu(Psg,6,6))

    ...

    La rubrique "num" est une numérotation automatique des enregistrements (c'est la seule clé du fichier "Testpassages6")
    ...
    HlitRechercheDernier ne lit pas toujour le dernier entregistrement correspondant au tranpondeur en question.
    ...

    Bonjour,

    Si Transpondeur n'est pas une rubrique clé ce comportement n'est pas surprenant car HLitRechercheDernier utilise l'index. S'il n'en a pas, c'est une lecture séquencielle.

    Salutations
    Mat

Discussions similaires

  1. (MYSQL) Numéro d'enregistrement
    Par lediz dans le forum Requêtes
    Réponses: 1
    Dernier message: 01/06/2006, 16h32
  2. Récuperer le numéro d'enregistrement
    Par BigZ444 dans le forum Bases de données
    Réponses: 5
    Dernier message: 01/05/2006, 21h11
  3. Le numéro d'enregistrement
    Par ludobado dans le forum Access
    Réponses: 1
    Dernier message: 24/04/2006, 14h04
  4. Réponses: 1
    Dernier message: 07/09/2005, 10h25
  5. [CR 10]Numéro d'enregistrement auto-inc
    Par Giovanny Temgoua dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 29/03/2005, 13h04

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