{SQL Server} MS Query ne retourne aucun résultat d

Fermé
emmanuel264 - 2 juil. 2009 à 13:00
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 - 5 juil. 2009 à 19:45
Bonjour à tous,

je commence à m'arracher les cheveux sur un problème sans doute simple.

Lorsque je tape la requete suivante dans MS query:
"
SELECT Clients.clientName
FROM Clients WITH(NOLOCK)
WHERE Clients.isDeleted=0x0 AND Clients.clientName='ABAXE'
"
tout marche, j'ai le bon résultat dans MS Query et MS query me retourne correctement mon resultat dans Excel.

Ceci dit ma requète est en réalité plus compliquée et j'aurai besoin de déclarer des tables intermédiaires, pour tester j'essaie donc cette query qui devrait me retourner le meme résultat que la précédente:
"
DECLARE @ActivesClients TABLE
(clientName nvarchar(200) )

INSERT INTO @ActivesClients (clientName)
SELECT Clients.clientName
FROM Clients WITH(NOLOCK)
WHERE Clients.isDeleted=0x0 AND Clients.clientName='ABAXE'

SELECT ActivesClients.clientName AS NbOfOnlineUsersPerClient
FROM @ActivesClients AS ActivesClients
"

Et là grand mystère, MS query execute bien cette requete, qui me donne bien le meme resultat que la precedente, mais MS query ne veut pas me retourner le resultat dans excel. Et une fois dans excel, lorsque je clic sur modifier ma requete, le code sql de ma requete a disparu.

Je precise que j'utilise Excel 2003.

Quelqu'un a t il une idee?

Merci bcp,

Emmanuel
A voir également:

7 réponses

moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
2 juil. 2009 à 16:45
Hello
Puré on va dire que tu as de la chance sur ce coup là.
Une fois j'avais eu ce problème ave cun export sur excel et il en était sortit que tu dois utiliser une table en dur pour faire ce type de traitement.
Tu ne peux pas utiliser @ActivesClients qui est une sorte de table virtuelle. J'avais rencontré cet ennui sous SQL 2000.
J'ai du créer une table physique pour cela.. Je ne sais pas si je réponds à la question
0
Ca y répond partiellement oui.

Ce qui me parait bizarre est que ma requete sql s'effectue correctement dans MS query. J'ai le bon résultat qui s'affiche. Et je n'arrive pas à comprendre pourquoi est ce que le fait d'utiliser une table virtuelle bloquerait l'importation des résultats.
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
5 juil. 2009 à 19:16
Oui c'est normal. Ta console SQL reconnait les tables virtuelles.
La procédure d'export ne peut se faire que avec des tables physiques. Parce que la commande qui est employée pour cela passe le le DOS (autrement dit le Shell de SQL Server) ou BCP : ne sait pas utiliser de tables virt. Trop évolué...
0
Merci Beaucoup Moderno!
Je vais donc éviter les tables virtuelles...ca ne va pas être très joli mais bon, je n'ai pas le choix
Merci pour vos réponses
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
5 juil. 2009 à 19:40
Si tu veux faire un export c'est obligé.
En passant par les Sp, tu peut re-créer un process qui fabrique la table, l'alimente, fait l'export, envoie un mail pourquoi pas, et supprime à la fin la table. ça fera comme le mécanisme de table temporaire...
0
sauf qu'il me semble que je n'ai pas les droits de créer une table permanente..
mais ce n'est pas grave, j'ai réussi à corriger le tir, mais la query n'est pas très jolie.
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
5 juil. 2009 à 19:45
Si tu n'as pas les droits, tu peux toujours demander à ton DBA de te la mettre en place à condition de les champs requis soient toujours les mêmes. Ainsi tu pourras écrire dedans le moment venu
0