Bonjour,

J'ai un problème avec les requêtes Hfsql

Lorsque je les exécutent sur l'émulateur elle me ramène les bons résultats, cependant dès qu'elles sont exécutées sur un téléphone le résultat n'est pas le même

En gros HnbEnr = 5 sur émulateur et 29 sur le téléphone
sur une autre c'est 15 et 129 ...

Avant chaque installation de l'apk je vide le cache et les données,
Le fichier de bases de données sont les même sur émulateur et téléphone (j'ai vérifié les chemins et le nombre de données ... )
mes tables :

Résultat
idQuestionnaire
id_stade
id_calcul
note
clé primaire : idQuestionnaire + id_stade +id_calcul
les données ne sont que des entiers

Calcul :
id_calcul
id_stade
id_calcul Pere
ordreCalcul
libelle
clé primaire : idCalcul
clé avec doublon :
id_stade
id_Calcul_pere
ordreCalcul
les données ne sont que des entiers à part libelle qui est un texte

requete :
NoteGraphSecondaire:

SELECT
Ca.libelle,
Rs.note
FROM
Resultat Rs,
Calcul Ca
INNER JOIN Resultat rs ON rs.id_stade = Ca.id_stade
INNER JOIN Resultat rs ON rs.id_calcul = Ca.IDCalcul

WHERE rs.id_questionnaire = {param_questionnaire}
AND rs.id_stade = {param_id_stade}
AND ca.idCalculPere = {param_id_pere}

--J'ai aussi essayé la requete de cette façons :
SELECT
Ca.libelle,
rs.note
FROM
Calcul Ca
INNER JOIN Resultat rs ON (rs.id_stade = Ca.id_stade AND rs.id_calcul = Ca.IDCalcul)

WHERE rs.id_questionnaire = {param_questionnaire}
AND rs.id_stade = {param_id_stade}
AND Ca.idCalculPere = {param_id_pere}


Code d'éxecution de la fenêtre :
(Le code est en parti sale et je m'en excuse je m'occupe seulement de le corriger ...)


i est un entier
POUR i = 1 A 5
SousGraphe(Stade,i)
FIN

PROCEDURE SousGraphe(Stade est un entier, numGraph est un entier)

Lib est une chaîne= ""
SousLib est une chaîne = ""

Note est une chaîne = ""
SousNote est un chaîne = ""

IdPere est un entier = 0
CheminGraph est une chaîne = ""

BufferNote est une chaîne =""
BufferLib est une chaîne =""

SELON Stade //données de testes
CAS 1 :
IdPere = 0
CAS 2 :
IdPere = 63
CAS 3 :
IdPere = 32
AUTRE CAS
FIN
IdPere += numGraph //idPere
SousLib ="a"
SousNote = "q"

//idQuestionnaire est initialisé à 1 pour les testes et stade est aussi égale à 1
SI HExécuteRequête(REQ_NoteGraphSecondaire,hRequêteDéfaut,idQuestionnaire,Stade,IdPere) ALORS
HLitPremier(REQ_NoteGraphSecondaire)
TANTQUE PAS HEnDehors(REQ_NoteGraphSecondaire)
Lib += REQ_NoteGraphSecondaire.libelle+"#"
Note += REQ_NoteGraphSecondaire.note+"#"
HLitSuivant(REQ_NoteGraphSecondaire)
FIN
FIN
SI Lib <>"" ET Lib <>"#" ALORS
BufferLib = ExtraitChaîne(Lib,rangPremier,"#")
FIN

TANTQUE SansEspace(SousLib) <> ""
SI SansEspace(Lib) <>"" ET Lib <>"#" ALORS
SousLib = ExtraitChaîne(Lib,rangSuivant,"#")
FIN

SI SousLib <> "" ALORS
BufferLib += " "","" " + SousLib
FIN
FIN
SI SansEspace(Note) <>"" ET Note <>"#" ALORS
BufferNote = ExtraitChaîne(Note,rangPremier,"#")
FIN

TANTQUE SansEspace(SousNote) <> ""
SI Note <>"" ET Note <>"#" ALORS
SousNote = ExtraitChaîne(Note,rangSuivant,"#")
SI SousNote <> "" ALORS
BufferNote += "," + SousNote
FIN
FIN
//affichage de graphique en code html
CheminGraph = fChargeTexte(fRepEnCours()+"/modelBar.htm")
CheminGraph = Remplace(CheminGraph,"Titre",sSelection)
CheminGraph = Remplace(CheminGraph,"categorie1",BufferLib)
CheminGraph = Remplace(CheminGraph,"data1",BufferNote)
fSauveTexte(fRepEnCours()+"/grapheBar"+numGraph+".htm", CheminGraph)

CheminGraph = ("file://"+fRepEnCours()+"/grapheBar"+numGraph+".htm")
SELON numGraph
CAS 1 :
HTM_Graphe1 = CheminGraph
CAS 2 :
HTM_Graphe2 = CheminGraph
CAS 3:
HTM_Graphe3 = CheminGraph
CAS 4:
HTM_Graphe4 = CheminGraph
CAS 5:
HTM_Graphe5 = CheminGraph
AUTRE CAS
Info("erreur numéro de graphe ...")
FIN


Je peux mettre les données des bases si besoin mais il y a plus de 200 enregistrements dans la table resultat et une centaine pour calcul ...

Je vous tiens au courant si je trouve quelque chose =)