PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Requête UNION AVEC TABLES SQL SERVER
Requête UNION AVEC TABLES SQL SERVER
Débuté par Mano, 28 juin 2005 00:03 - 5 réponses
Posté le 28 juin 2005 - 00:03
Bonjour,

Je travail sous SQL SERVER.
J'ai créé et sauvegardé dans le projet avec l'outil windev la requête suivante :

SELECT F_COMPTEG.CG_Num AS CT_Num,
F_COMPTEG.CG_Intitule AS CT_Intitule,
F_COMPTEG.CG_Classement AS CG_NumPrinc
FROM F_COMPTEG
WHERE F_COMPTEG.CG_Type = 0

UNION

SELECT F_COMPTET.CT_Num AS CT_Num,
F_COMPTET.CT_Intitule AS CT_Intitule,
F_COMPTET.CG_NumPrinc AS CG_NumPrinc
FROM F_COMPTET
WHERE (LEFT(F_COMPTET.CG_NumPrinc,3) >= {Param1} AND LEFT(F_COMPTET.CG_NumPrinc,3) < {Param2})
ORDER BY CT_Num ASC

lorsque je teste la requête directement par GO c'est OK la requête me retourne les valeurs.

Je crée avec l'assistant Windev une fenêtre table basée sur cette requête, lorsque je lance l'application, j'ai le message :
LE FICHIER OU LA LIAISION HYPERFILE "RQ_SELECTION_TIER" EST INCONNU

la fenêtre fonctionne correctement lorsque je sélectionne un membe de l'union (si je supprime le premier select ou le second y compris "UNION").
Je travaille avec des table sql server via ODBC.

Merci
Posté le 28 juin 2005 - 10:51
Bonjour,

je ne peux vous répondre, mais je serais très intéressé par votre expérience SQL Server.
En effet je vois dans votre requete, que vous travaillez avec SAGE version SQL Server.

Pouvez vous me recontacter en privé afin de ne pas polluer ce forum?
bDOTblondetATminotDOTfr
J'aurais des questions concernant Windev/SAGE/SQLServer (odbc ou natif).
Posté le 28 juin 2005 - 11:09
Ah ce bon vieux SAGE, j'irai voir du coté de HRequeteSansCorrection

"Mano" <gmanolo@hotmail.fr> a écrit dans le message de
news:42c050ed$1@news.pcsoft.fr...
Bonjour,

Je travail sous SQL SERVER.
J'ai créé et sauvegardé dans le projet avec l'outil windev la requête

suivante :

SELECT F_COMPTEG.CG_Num AS CT_Num,
F_COMPTEG.CG_Intitule AS CT_Intitule,
F_COMPTEG.CG_Classement AS CG_NumPrinc
FROM F_COMPTEG
WHERE F_COMPTEG.CG_Type = 0

UNION

SELECT F_COMPTET.CT_Num AS CT_Num,
F_COMPTET.CT_Intitule AS CT_Intitule,
F_COMPTET.CG_NumPrinc AS CG_NumPrinc
FROM F_COMPTET
WHERE (LEFT(F_COMPTET.CG_NumPrinc,3) >= {Param1} AND

LEFT(F_COMPTET.CG_NumPrinc,3) < {Param2})
ORDER BY CT_Num ASC

lorsque je teste la requête directement par GO c'est OK la requête me

retourne les valeurs.

Je crée avec l'assistant Windev une fenêtre table basée sur cette requête,

lorsque je lance l'application, j'ai le message :
LE FICHIER OU LA LIAISION HYPERFILE "RQ_SELECTION_TIER" EST INCONNU

la fenêtre fonctionne correctement lorsque je sélectionne un membe de

l'union (si je supprime le premier select ou le second y compris "UNION").
Je travaille avec des table sql server via ODBC.

Merci


Posté le 28 juin 2005 - 16:20
Bonjour,

Comment faire, lorsque je crée une fenêtre basé sur cette requête avec l'assistant pour déclarer la requêt avec hRequêteSansCorrection?

Toutes les requêtes on été créées avec l'assistant. Le code est celui obtenu en clicquant sur le bouton SQL de la barre d'outils.

En utilisant HExécuteRequêteSQL, je dois programmere ma table d'affichage (ou me créer une classe objet en remplacement de cwdTable car l'erreur est générée dans cette dernière classe lors de l'access a la table (en l'occurence ici a la requête).

Si je supprime un des deux select (donc j'obtiens la même requête sans l'union) je peux tester ma fenêtre sans problème.

Si je crée 2 fichiers Hyperfile et que je crée une requête union alors pas de problème tout focntionne correctement. J'ai le problème sur SQL Server (pas uniquement avec SAGE) je n'ai pas eu l'occasion de faire le test avec ORACLE.

Merci

Mano
Posté le 29 juin 2005 - 15:46
Pourqoui vous ne créer pas la requete union "Mareq" avec les vues ou procédures SQLServeur ?

Puis importer dans l'analyse la requete "Mareq"

Dans pratiquement tout les cas c'est plus rapide est plus "propre" de faire les requètes et procédures stockées sous SQLServeur

Un exemple...

CREATE VIEW dbo.VCaisseStock
AS
SELECT *
FROM dbo.VCaisseStockBLENTEchange
UNION
SELECT *
FROM dbo.VCaisseStockBLENTFacture
UNION
SELECT *
FROM dbo.VCaisseStockBLSOREchange
UNION
SELECT *
FROM dbo.VCaisseStockBLSORFacture
UNION
SELECT *
FROM dbo.VCaisseStockUVD
UNION
SELECT *
FROM dbo.VCaisseStockUVE
Posté le 30 juin 2005 - 17:59
Oui, mais les vues ne sont pas visible depuis Windev. Donc impossible créer des fenêtres en visualisation (je n'ai pas l'accès natif). Je compte utiliséer la vue (puisque je l'ai créé sur sql server) en programmant une fenêtre avec une table mémoire.