loulzzz
Messages postés4Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention 5 janvier 2005
-
20 déc. 2004 à 11:30
loulzzz
Messages postés4Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention 5 janvier 2005
-
21 déc. 2004 à 10:01
Bonjour,
j'ai un pb avec une requete qui comporte un Dmax, j'ai essayé d'utiliser la requete generé par access mais elle ne fonctionne pas, est ce que ce n'est pas le bordel avec les cot et cette fonction ?
Ma requete :
Recordset1.ActiveConnection = MM_conn_STRINGRecordset1.Source "SELECT TMontre.RefMontre, TMontre.NumMontre, TMontre.Revision, TMontre.PMC, TMontre.PUHT, TMontre.DateMAJ, TMontre.Chemin, TMontre.designation, TMontre.designationa, TVersions.RefVersion, TVersions.Bracelet, TVersions.Cadran, TVersions.Boitier, TVersions.BraceletF, TVersions.CadranF, TVersions.BoitierF FROM TVersions, TMontre WHERE TMontre.RefMontre TVersions.RefMontre AND RefCatalogue = "+ Request.Form("Rclient") +" AND ((DMax(""[Revision]"",""TMontre"",""[NumMontre] = '"" & [NumMontre] & ""'""))=[Revision] Or (DMax(""[Revision]"",""TMontre"",""[NumMontre] = '"" & [NumMontre] & ""'"")) Is Null) AND ((TMontre.PuHT) Is Not Null And (TMontre.PuHT)<>0)) ORDER BY TMontre.NumMontre ASC"
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 20 déc. 2004 à 13:18
moi je trouve que t'as bien beaucoup de quotes ... et je ne comprend pas toujours pourquoi, notamment dans tes Dmax, pourquoi double tu les quotes ? et puis on dirait qu'il y en manque, apres [numMontre] ... mais je connais pas la fonction Dmax donc c'est peut etre normal
C'etait quoi la fonction originalement créer par access ?
loulzzz
Messages postés4Date d'inscriptionmercredi 21 mai 2003StatutMembreDernière intervention 5 janvier 2005 20 déc. 2004 à 14:35
Merci, je sais bien qu'il y a beaucoup de quote mais d'apres ce qu'il me sort de access, c'est aussi chargé.
Original : sql "SELECT DISTINCTROW TMontre.RefCatalogue, TMontre.RefMontre, TMontre.Revision, DMax(""[Revision]"",""TMontre"",""[NumMontre] '"" & [NumMontre] & ""'"") AS [Max], TMontre.NumMontre, TMontre.Designation AS Design, TMontre.DateMAJ AS DateFDS, TMontre.Nota, TMontre.PuHT, TMontre.PMC, TMontre.Etanchéité, TMontre.TetCEtanche, TMontre.JointDeVerre, TMontre.[Joint de fond], TMouvement.[Mouvement F] AS Mouvement, TMouvement_1.[Mouvement F] AS MouvementB, TPile_1.TypePile AS PileB, TPile.TypePile AS Pile, TBoitier.[Boitier F] AS Boitier, TCadran.[Cadran F] AS Cadran, TBracelet.[Bracelet F] AS Bracelet, TFond.[Fond F] AS Fond, TVerre.[Verre F] AS Verre, TMontre.Nota AS Remarque, TMontre.Chemin, TMontre.Image, TMontre.Defini, TMontre.DateCreation, IIf([FDeSerie]=True,""REF"","""") AS Attention FROM TPile AS TPile_1 RIGHT JOIN (TMouvement AS TMouvement_1 RIGHT JOIN (TPile RIGHT JOIN ((((((TMontre LEFT JOIN TVerre ON TMontre.Verre = TVerre.RefVerre) LEFT JOIN TBracelet ON TMontre.Bracelet = TBracelet.RefBracelet) LEFT JOIN TFond ON TMontre.Fond = TFond.RefFond) LEFT JOIN TCadran ON TMontre.Cadran = TCadran.RefCadran) LEFT JOIN TBoitier ON TMontre.Boitier = TBoitier.RefBoitier) LEFT JOIN TMouvement ON TMontre.Mouvement = TMouvement.RefMouv) ON TPile.RefPile = TMouvement.RefPile) ON TMouvement_1.RefMouv = TMontre.MouvementBis) ON TPile_1.RefPile = TMouvement_1.RefPile WHERE (((TMontre.RefCatalogue)=" & Request.QueryString("[Formulaires]![FImprimerCatalogue]![ZCatalogue]") & ") AND ((DMax(""[Revision]"",""TMontre"",""[NumMontre] = '"" & [NumMontre] & ""'""))=[Revision] Or (DMax(""[Revision]"",""TMontre"",""[NumMontre] = '"" & [NumMontre] & ""'"")) Is Null) AND ((TMontre.PuHT) Is Not Null And (TMontre.PuHT)<>0)) ORDER BY TMontre.NumMontre "
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 20 déc. 2004 à 18:46
c'est access qui te double les quotes ?
t'as pas la requete SQL, le rendu de la variable sql,
car la tu me sors
sql = "select blabla from niania "" and truc """
et en doublant les quotes ca t'en fait plus qu'un en vb.net ? suis je clair ? pour mettre ce caractère " dans une string il faut mettre "" celui ci pour pas qu'il soit interpreté comme la fin d'expression. moi j'aimerais ce que te sors access sans le doublage des quotes.
mais je sais pas si je pourrais t'aider, je n'ai que des faibles connaissances en SQL, vas ici : sqlfr.com la partie de codes-sources dédié à SQL :)