2011-04-06 3 views
1

J'ai un fichier MS-Access 2007 et une colonne, que je suis en train de remplacer pour la sortie, la colonne contient des données telles que:MS-Access 2007, Remplacer RegEx avec des données

\\sad\images\Components\12\123_4.jpg 
\\sad\images\Components\112\1125_3.jpg 

Ma Recherche est

SELECT REPLACE(Path, "\\(\w*).(jpg)", "") AS FILENAME FROM Paths; 

le regex identifie le nom de fichier et retourne comme \ 123_4.jpg, \ 1125_3.jpg, etc.

Mais quand je lance cette requête, la sortie n'a pas changé, aucune aide?

+0

Que voulez-vous dire l'expression rationnelle renvoie le nom de fichier mais la sortie n'a pas changé? Vous voulez dire que les données de la table Paths n'ont pas changé? C'est ce que vous attendiez? –

+0

Ma sortie attendue est \ 123_4.jpg, \ 1125_4.jpg, etc, mais je ne l'obtiens pas comme prévu. J'utilise un outil externe pour valider mon regex et ça marche bien – Vivek

+1

Je ne possède pas Access 2007 donc il m'est difficile de dire quelque chose sur le support natif pour regexp dans les requêtes. Vous pouvez essayer d'utiliser un script VBA que j'ai posté dans http://stackoverflow.com/questions/5539141/microsoft-office-access-like-vs-regex-question/5539504#5539504 Il vous permettra d'utiliser une expression rationnelle dans une requête. Dans votre cas, le code serait 'SELECT my_regexp (Chemin," \\ (\ w *). (Jpg) ") COMME FILENAME FROM Chemins;'. Si vous n'avez pas peur de VBA, peut-être que vous devriez essayer. –

Répondre