En supposant que vous ne pouvez pas modifier la base de données actuelle. . . La seule chose à laquelle je peux penser (et je me suis fait avoir par les cerveaux sur celui-ci, désolé compagnon) est d'utiliser des appels répétés à instr, imbriqués dans des déclarations iif par exemple. pour remplacer cet appel à instrrev
SELECT IIf(InStr([FileName],""\"")>0,Mid$([Filename],InStrRev([Filename],""\"")+1),[Filename]) FROM Table1
Vous auriez un fou compeltely
SELECT IIf(InStr([FileName],""\"")>0,Mid$([Filename],iif(InStr(1, [FileName], ""\"") > 0, iif(InStr(2, [FileName], ""\"") > 0, iif(InStr(3, [FileName], ""\"") > 0, iif(InStr(4, [FileName], ""\"") > 0, iif(InStr(5, [FileName], ""\"") > 0, iif(InStr(6, [FileName], ""\"") > 0, iif(InStr(7, [FileName], ""\"") > 0, iif(InStr(8, [FileName], ""\"") > 0, iif(InStr(9, [FileName], ""\"") > 0, 1, InStr(9, [FileName], ""\"")), InStr(8, [FileName], ""\"")), InStr(7, [FileName], ""\"")), InStr(6, [FileName], ""\"")), InStr(5, [FileName], ""\"")), InStr(4, [FileName], ""\"")), InStr(3, [FileName], ""\"")), InStr(2, [FileName], ""\"")), InStr(1, [FileName], ""\""))),[Filename]) from table1
Cela fonctionne pour un chemin des thats 10 ou si des sous-dossiers en profondeur. Si vous pensez que 10 sous-dossiers sont trop petits, j'ai un peu de vba pour générer la déclaration à quelle profondeur vous avez besoin.
Il est obscène, mais devrait fonctionner
lol. Oui, obscène est le mot. Si je pouvais vous donner plus de 1+ je voudrais juste avoir la constitution pour écrire ça! J'avais considéré cela comme une solution, mais ce n'est qu'un non-sens. Tout cela a fini par être considéré comme un changement de code pour une version de Service Pack maintenant, donc nous n'avons pas besoin de faire ce genre de chose. Bon travail si mec. – Stimul8d
Merci pour ça! J'ai été dans des positions où une abomination comme ci-dessus est la seule solution ou quand une solution est nécessaire pour quelque chose dès maintenant. Je suis content que ces IIf imbriqués ne verront jamais la lumière du jour. Bonne chance –
@Binary Worrier: Ma première intuition était aussi d'écrire un ensemble de IIf() imbriqués et de leur substituer InStrRev(). Mais j'ai rejeté l'idée d'être si laide et limitée. +1 pour l'effort pur de votre part. :RÉ – Tomalak