OVH Cloud OVH Cloud

utilisation requête analyse croisée

3 réponses
Avatar
Pierre chevalier
bonsoir
sous vb6 avec un adodb.recordset, jexécute une requête d'analyse croisée à
partir d'une bd access
Var = "TRANSFORM First(MD.Zone) AS PremierDeZone"
Var = Var & " SELECT MD.Codmar, MD.NPage, MD.Picto_Catal, MD.indice "
Var = Var & " FROM M_RefE_Comp_Détail_" & Code_Marque & " MD"
Var = Var & " Where MD.NPage <> 0 and MD.NCol <> 0 "
Var = Var & " GROUP BY MD.Codmar, MD.NPage, MD.Picto_Catal, MD.indice"
Var = Var & " ORDER BY MD.NPage, MD.Picto_Catal , MD.indice"
Var = Var & " PIVOT MD.NCol;"

Set Page_Comp = New ADODB.Recordset
Page_Comp.Open Var, CnAccess, adOpenKeyset, adLockPessimistic

je voudrais faire la méme chose mais sur une bd sql server
comment faire
j'ai essayé en faisant l'ouverture sur la bd sql

Set Page_Comp = New ADODB.Recordset
Page_Comp.Open Var, CnSql, adOpenKeyset, adLockPessimistic
il n'exécute pas il trouve une erreur de syntaxe
si quelqu'un peut m'aider c'est urgent
merci

3 réponses

Avatar
SAISAS
Bonjour,

sauf erreur de ma part, Transform ne fait pas partie des ordre SQL reconnus,
et tous les moteurs de bases de données ne les reconnaissent pas.

Lorsque je dois utiliser plusieurs types de bases de données, j'utilise les
facilités de liens de table ACCESS : tous mes ordres de sélection
fonctionnent quelque soit la base utilisée.

Bonne réception.

"Pierre chevalier" a écrit :

bonsoir
sous vb6 avec un adodb.recordset, jexécute une requête d'analyse croisée à
partir d'une bd access
Var = "TRANSFORM First(MD.Zone) AS PremierDeZone"
Var = Var & " SELECT MD.Codmar, MD.NPage, MD.Picto_Catal, MD.indice "
Var = Var & " FROM M_RefE_Comp_Détail_" & Code_Marque & " MD"
Var = Var & " Where MD.NPage <> 0 and MD.NCol <> 0 "
Var = Var & " GROUP BY MD.Codmar, MD.NPage, MD.Picto_Catal, MD.indice"
Var = Var & " ORDER BY MD.NPage, MD.Picto_Catal , MD.indice"
Var = Var & " PIVOT MD.NCol;"

Set Page_Comp = New ADODB.Recordset
Page_Comp.Open Var, CnAccess, adOpenKeyset, adLockPessimistic

je voudrais faire la méme chose mais sur une bd sql server
comment faire
j'ai essayé en faisant l'ouverture sur la bd sql

Set Page_Comp = New ADODB.Recordset
Page_Comp.Open Var, CnSql, adOpenKeyset, adLockPessimistic
il n'exécute pas il trouve une erreur de syntaxe
si quelqu'un peut m'aider c'est urgent
merci




Avatar
Pierre chevalier
Merci
en attendant une réponse, j'ai continué à chercher et j'en suis arrivé à la
mème conclusion

"SAISAS" a écrit :

Bonjour,

sauf erreur de ma part, Transform ne fait pas partie des ordre SQL reconnus,
et tous les moteurs de bases de données ne les reconnaissent pas.

Lorsque je dois utiliser plusieurs types de bases de données, j'utilise les
facilités de liens de table ACCESS : tous mes ordres de sélection
fonctionnent quelque soit la base utilisée.

Bonne réception.

"Pierre chevalier" a écrit :

> bonsoir
> sous vb6 avec un adodb.recordset, jexécute une requête d'analyse croisée à
> partir d'une bd access
> Var = "TRANSFORM First(MD.Zone) AS PremierDeZone"
> Var = Var & " SELECT MD.Codmar, MD.NPage, MD.Picto_Catal, MD.indice "
> Var = Var & " FROM M_RefE_Comp_Détail_" & Code_Marque & " MD"
> Var = Var & " Where MD.NPage <> 0 and MD.NCol <> 0 "
> Var = Var & " GROUP BY MD.Codmar, MD.NPage, MD.Picto_Catal, MD.indice"
> Var = Var & " ORDER BY MD.NPage, MD.Picto_Catal , MD.indice"
> Var = Var & " PIVOT MD.NCol;"
>
> Set Page_Comp = New ADODB.Recordset
> Page_Comp.Open Var, CnAccess, adOpenKeyset, adLockPessimistic
>
> je voudrais faire la méme chose mais sur une bd sql server
> comment faire
> j'ai essayé en faisant l'ouverture sur la bd sql
>
> Set Page_Comp = New ADODB.Recordset
> Page_Comp.Open Var, CnSql, adOpenKeyset, adLockPessimistic
> il n'exécute pas il trouve une erreur de syntaxe
> si quelqu'un peut m'aider c'est urgent
> merci
>
>


Avatar
Pierre chevalier
j'ai utilisé cet url
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnofftalk/html/office10052000.asp
pour créer dans uns bd access 2000 un lien avec une table d'une bd SQL2000
j'ai écrit

CreateLinkedExternalTable _
"D:SocietesCortecoCatalogue 2002Catalog2002.mdb", _
"ODBC;DSN=Sesame_Eltitec_local;User
Id=sa;Password=;DATABASE=Sesame_Eltitec", _
"M_C_RefE_AUD", "M_C_RefE_AUD_liée"

lorsque j'exécute il me sort ce message
odbc echec de la connexion à Sesame_Eltitec_local

sesame_eltitec_local est mon dsn (odbc utilisation systeme)
sesame_eltitec est ma bd sql

merci d'une réponse rapide je suis bloqué

"SAISAS" a écrit :

Bonjour,

sauf erreur de ma part, Transform ne fait pas partie des ordre SQL reconnus,
et tous les moteurs de bases de données ne les reconnaissent pas.

Lorsque je dois utiliser plusieurs types de bases de données, j'utilise les
facilités de liens de table ACCESS : tous mes ordres de sélection
fonctionnent quelque soit la base utilisée.

Bonne réception.

"Pierre chevalier" a écrit :

> bonsoir
> sous vb6 avec un adodb.recordset, jexécute une requête d'analyse croisée à
> partir d'une bd access
> Var = "TRANSFORM First(MD.Zone) AS PremierDeZone"
> Var = Var & " SELECT MD.Codmar, MD.NPage, MD.Picto_Catal, MD.indice "
> Var = Var & " FROM M_RefE_Comp_Détail_" & Code_Marque & " MD"
> Var = Var & " Where MD.NPage <> 0 and MD.NCol <> 0 "
> Var = Var & " GROUP BY MD.Codmar, MD.NPage, MD.Picto_Catal, MD.indice"
> Var = Var & " ORDER BY MD.NPage, MD.Picto_Catal , MD.indice"
> Var = Var & " PIVOT MD.NCol;"
>
> Set Page_Comp = New ADODB.Recordset
> Page_Comp.Open Var, CnAccess, adOpenKeyset, adLockPessimistic
>
> je voudrais faire la méme chose mais sur une bd sql server
> comment faire
> j'ai essayé en faisant l'ouverture sur la bd sql
>
> Set Page_Comp = New ADODB.Recordset
> Page_Comp.Open Var, CnSql, adOpenKeyset, adLockPessimistic
> il n'exécute pas il trouve une erreur de syntaxe
> si quelqu'un peut m'aider c'est urgent
> merci
>
>