1

我正在使用此代码,但由于某种原因,任何大于 8 个字符的名称都会被截断:

Dim SaveName As String
Dim CurrentDate As Date

CurrentDate = Now

SaveName = InputBox("Save Database as..", "Save as..", CurrentDate)

DoCmd.TransferDatabase _
acExport, _
"dBase IV", _
"C:\Data\PLC_MOBZ\Test\export", _
acTable, _
"DB_Total", _
SaveName, _
False

正如您所理解的,即使没有输入任何内容,默认名称也会是:

"22-2-2013 14:42:44"  

需要超过 8 个字符。

4

1 回答 1

3

这是一个 dbase 标准。“dir”或“folder”是数据库名称,里面的文件是表。因此,您不能也不应该在 dBase 格式之外创建表。

如果您创建其他任何东西,那么这些 dBase 程序将无法读取或找到反过来代表表的文件。

所以文件夹名和文件名都需要保持 8.3 格式,并且也不能包含空格。所以这不是微软的问题,而是一个 dBase 标准。

您当然可以通过在创建文件后重新命名文件来打破此规则。您可以在 Access 之外执行此操作,或使用 VBA“名称”命令

例如:

Name  "oldFileName" as  "newFileName"
于 2013-02-22T15:52:47.933 回答