ACCESS vers SQL Server

Signaler
Messages postés
1
Date d'inscription
jeudi 11 mai 2006
Statut
Membre
Dernière intervention
11 mai 2006
-
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
-
Bonjour a tous,

Je vous explique mon probleme :
Je veu passé les requetes ecrites sous ACCESS dans SQL Server, apparement le langage diffère quelque peu.
C'est donc un vrai casse tete pour transformer la requete suivante dans le langagede SQL Server :

SELECT DISTINCT Tracabilité.Testeur AS Expr1, Last(Tracabilité.Produit) AS DernierDeProduit, IIf([Tracabilité].[Mid]= "pas de code" Or [Tracabilité].[Mid]="00000000" Or Len([Tracabilité].[Mid])<8,"M"+Str$([Date]+[Heure]),[Tracabilité].[Mid]) AS Mid, Last (Tracabilité.Date) AS DernierDeDate, Last(IIf(Len([Tracabilité].[Mid])>9,"Lecture CAB",IIf([Tracabilité].[Clair 1]<>"",[Tracabilité].[Clair 1],"Non identifié"))) AS [Clair 1], Last(Tracabilité.[Min 1]) AS [DernierDeMin 1], Last(Tracabilité.[Max 1]) AS [DernierDeMax 1], Last(Tracabilité.[Mesure 1]) AS [DernierDeMesure 1], Last(IIf([Tracabilité].[Clair 1]<>"contact",[Tracabilité].[Clair 2],"")) AS [Clair 2], Last(Tracabilité.[Min 2]) AS [DernierDeMin 2], Last(Tracabilité.[Max 2]) AS [DernierDeMax 2], Last(Tracabilité.[Mesure 2]) AS [DernierDeMesure 2], Last(IIf([Tracabilité].[Clair 1]<>"contact",[Tracabilité].[Clair 3],"")) AS [Clair 3], Last(Tracabilité.[Min 3]) AS [DernierDeMin 3], Last(Tracabilité.[Max 3]) AS [DernierDeMax 3]
FROM Tracabilité
GROUP BY Tracabilité.Testeur, IIf([Tracabilité].[Mid] ="pas de code" Or [Tracabilité].[Mid]="00000000" Or Len([Tracabilité].[Mid])<8,"M"+Str$([Date]+[Heure]),[Tracabilité].[Mid]), Tracabilité.Status
HAVING ((([Tracabilité].[Status])="MAUVAIS"))
ORDER BY IIf([Tracabilité].[Mid]="pas de code" Or [Tracabilité].[Mid]="00000000" Or Len([Tracabilité].[Mid])<8,"M"+Str$([Date]+[Heure]),[Tracabilité].[Mid]);

Les element en gas sont les element que sql server ne prend pas en compte, comment transformé cette requete pour qu'elle soit comprehensible par SQL server?

1 réponse

Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
salut

pour le IIF, regarde du coté de CASE dans les MSDN de SQL Server :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ca-co_2f3o.asp

pour le LAST, je ne voit pas a quoi sert cette fonction sous ACCESS. si c'est pour recuperer la date la plus recente, tu peux utiliser MAX(Date)