从给定路径中提取FileName

时间:2014-01-23 03:56:53

标签: ms-access ms-access-2007 ms-access-2010

我正在使用MS Access并尝试从完整的文件路径中提取文件名。 例如,考虑表中的列名:

Path               | Directory   |  FileName  | extension
---------------------------------------------------------
C:\temp\xyz.txt    | C:\temp     |  xyz       |   txt
C:\myPath\tp.doc   | C:\myPath   |  tp        |   doc

在Access查询设计视图中,我使用以下命令生成“目录”值:

 Left([Path],(InStrRev([Path],"\")))

我无法为FileName和扩展名列提取正确的值。任何想法都可以做到精确而无需在模块中编写它会很棒。

1 个答案:

答案 0 :(得分:1)

Mid()与其他函数一起使用以获取文件基名。 Right()对于获取扩展程序非常有用。

Path = "C:\temp\xyz.txt"
? Mid(Path, InStrRev(Path,"\") + 1, InStrRev(Path,".") - InStrRev(Path,"\") - 1)
xyz
? Right(Path, Len(Path) - InstrRev(Path, "."))
txt

Path = "C:\myPath\tp.doc"
? Mid(Path, InStrRev(Path,"\") + 1, InStrRev(Path,".") - InStrRev(Path,"\") - 1)
tp
? Right(Path, Len(Path) - InstrRev(Path, "."))
doc

希望您没有像.tar.gz这样的复合文件扩展名。 : - )