[R] Requête Vue MSSQL

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
havoc
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 17 août 2007 11:41
Status : Hors ligne

[R] Requête Vue MSSQL

#1

Message par havoc »

Bonjour,

Je tourne en rond depuis plusieurs jours sur une requête qui me semble pourtant simple et que j'effectue sans problème depuis bien longtemps, à la seule différence que j'effectue cette requête sur une vue et pas sur des tables...

Voici mon code :
► Afficher le texte
La requête d'origine (appel de 9 tables avec jointures) ne me remontait aucun enregistrement dans autoit, alors qu'elle fonctionnait correctement sur SQL Manager.
Dans un premier temps j'ai découpé cette requête en 4 parties, qui me remontaient chacune des enregistrements... Mais cela m'obligeait à créer les jointures avec Autoit, là ou la requête d'origine se générait en une dizaine de secondes.
J'ai donc utilisé une vue qui se génère également correctement dans SQL server.
Mon problème est que les fonctions RecordCount et Fields.Count remontent le nombre de résultats corrects (respectivement 94 et 15), mais EOF et BOF sont tous deux à True, ce qui signifie que la requête n'a remonté aucun résultat (et c'est à ce moment là que je crie à mon ordi : Mais bien sur que si ! Tu viens de me dire qu'il y a 94 résultats !!! :evil: ).
J'ai tenté de restructurer la manière de faire mes requêtes en utilisant les objets Command et en utilisant la fonction Execute directement sur l'objet Connection, pensant que le problème venait peut-être des objets RecordSet qui ne supportaient pas de requêter des vues, mais sans plus de succès... Je me suis renseigné sur les objets ADO depuis 2 jours, sans trouver de solution... Ni comprendre pourquoi mon code réagit ainsi...

Merci d'avance pour vos réponses ou pistes de recherche...
Modifié en dernier par havoc le ven. 21 nov. 2014 15:59, modifié 1 fois.
havoc
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 17 août 2007 11:41
Status : Hors ligne

Re: [..] Requête Vue MSSQL

#2

Message par havoc »

Bonjour,

Après moultes réflexions et tentatives infructueuses, j'ai enfin réussi à contourner le problème.

Partant du principe que le requêtage de tables ne pose aucun problème, j'ai donc créé une table qui contient tous les champs dont j'ai besoin (bon j'ai été un peu fainéant, je vous l'accorde, j'aurais pu créer et détruire la table à chaque exécution du script, mais dans le cas présent, cela n'apporte rien car ma structure de table n'est pas censée bouger régulièrement).
J'exécute donc ensuite une commande de truncate/maj de ma table, puis vous l'aurez deviné, je requête ma table et là, Tadaaa!! J'ai mes résultats !! 8)
Répondre