[Résolu] Dao : function replace() & access 2000

Dao : function replace() & access 2000 [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 28-09-2005 à 10:31:10    

Bonjour,  
 
Je dois faire une petite modification sur une vieille application qui a été développée avec DAO.  
 
J'ai un problème de tri au niveau des apostrophes.  
Tri actuel :  
- D'AB  
- DAC  
- D'AD  
- DAD  
- D'EB  
- DEC  
 
Tri désiré:  
- D'AB  
- D'AD  
- D'EB  
- DAC  
- DAD  
- DEC  
 
Ma requête de selection pour permettre cela (elle marche dans les requêtes Access 2000)  
Select ... From ... Order by Replace(MonChamp, '''', ''' ');  
 
Le tri est correct grâce à cette requête dans Access, mais impossible de la faire marcher dans VB avec DAO 3.6  
 
C'est le Replace() qui ne marche pas err 3080 fonction non définie  
 
Ligne de code :  
vSQL= "Select ... From ... Order by Replace(MonChamp, '''', ''' ')"  
set vRs=db.OpenRecordset(vSQL,dbOpenDynaset) >>>l'erreur est ici  
 
Sachant que la même requête sans le replace marche tout à fait  
 
Avez-vous une idée pour que cela fonctionne ? ou une autre façon de faire pour que le tri soit correct?  
 
Merci d'avance.  
Cordialement.


Message édité par antidotes le 28-09-2005 à 16:23:00
Reply

Marsh Posté le 28-09-2005 à 10:31:10   

Reply

Marsh Posté le 28-09-2005 à 16:20:58    

Bon ben j'ai trouvé une solution :)
 

Code :
  1. SELECT MonChamp
  2. FROM MaTable
  3. ORDER BY
  4. IIf(InStr([MonChamp],Chr(39))>0,Mid([MonChamp],1,InStr([MonChamp],Chr(39))-1) & ' ' & Mid([MonChamp],InStr([MonChamp],Chr(39))+1),[MonChamp])

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed