Angenommen, Sie können die tatsächliche Datenbank nicht ändern. . .
Das einzige, was ich denken kann (und ich durch Gehirne an diesem, tut mir leid Kumpel) ist wiederholte Anrufe zu Instr zu verwenden, verschachtelt in if Anweisungen, z. diesen Anruf InStrRev
SELECT IIf(InStr([FileName],""\"")>0,Mid$([Filename],InStrRev([Filename],""\"")+1),[Filename]) FROM Table1
ersetzen Sie verrückt ein compeltely haben würde
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
Dies wird für einen Pfad arbeiten das ist 10 oder so Vorhefte tief. Wenn Sie denken, 10 Unterordner ist zu wenig, ich habe ein bisschen VBA, um die Aussage zu erzeugen, was immer Tiefe Sie benötigen.
Es ist obszön, sollte aber
lol. Ja, obszön ist das Wort. Wenn ich dir mehr als 1+ geben könnte, hätte ich nur eine Verfassung, um das zu schreiben! Ich habe das als Lösung betrachtet, aber es ist nur Unsinn. Es wurde alles als eine Codeänderung für ein Service Pack-Release zurückgeworfen, so dass wir nicht so etwas tun müssen. Gute Arbeit, Alter. – Stimul8d
Danke feck dafür! Ich war in Positionen, in denen eine Abscheulichkeit wie die obige die einzige Lösung ist oder wenn eine Reparatur für etwas JETZT NOTWENDIG ist. Ich bin froh, dass die verschachtelten IIF's nie das Licht der Welt erblicken werden. Viel Glück –
@Binary Worrier: Meine erste Intuition war auch, eine Reihe von verschachtelten IIf() s zu schreiben und InStrRev() mit ihnen zu ersetzen. Aber ich verwarf die Idee, so hässlich und begrenzt zu sein. +1 für die schiere Anstrengung von Ihrer Seite. : D – Tomalak