原始 KB 编号:
891775
创建包含长整数的 Microsoft Office Access 表,然后将该表导出为 dBase IV (.dbf) 类型时,这些数字将转换为双倍数据类型,并显示小数位。
例如,可以导出下表:
23411
111111111
1121212
然后,在 dBase IV 中导入和查看数据时,数据将如下所示:
23411.00000
111111111.00000
1121212.00000
在 Access 中的表中创建数字字段时,可以使用 FieldSize 属性控制为特定字段分配的空间量。 对于数字字段,可以从列表中选择以下数字类型之一:
ReplicationID
默认情况下,数字字段的设置为长整数。 Long Integer 值存储从大约 20 亿到 20 亿美元的整数。 或者,可以选择 Double 值来存储带有小数位数的数字。
出现此问题的原因是 dBase 中没有整数数据类型。 dBase 使用数值或 Float 数据类型。 Access 将长整数映射到 dBase 中的数值数据类型。
若要解决此问题,请使用以下方法之一:
方法 1:修改 dBase 中的数据库文件
将数据库文件添加到 dBase 目录后修改其设计。 例如,将 Dec 列设置为 0 (零) 。 有关在 dBase 中设计数据库文件的详细信息,请参阅 dBase 文档。
使用 Excel 设置导出的表中的数据的格式。 为此,请按照下列步骤操作:
在 Excel 中,打开从 Access 导出的类型 dBase IV (*.dbf) 的表。
设置未正确格式化的单元格的格式。 为此,请选择单元格,然后单击
“格式”
菜单上的
“单元
格”。
设置单元格格式后,将电子表格导出为 dBase IV 文件。 为此,请按照下列步骤操作:
-
在“文件”
菜单上单击“另存为”
。
-
在
“另存为类型
”框中,单击
DBF 4 (dbase IV) (*.dbf)
,然后单击
“保存
”。
Microsoft 提供的编程示例仅用于进行说明,而不提供明示或默示担保。 这包括但不限于适销性或对特定用途的适用性的默示担保。 本文假设您熟悉正在演示的编程语言和用于创建和调试过程的工具。 Microsoft 支持工程师可以帮助解释特定过程的功能。 但是他们不会修改这些示例以提供额外的功能,也不会构建过程以满足您的特定要求。
可以使用以下代码示例自动执行数据格式设置过程。 该示例将表另存为文本文件。 然后,它将自动执行 Excel 以打开文本文件,然后将其保存为 dBase IV 格式。
必须更改此代码示例中的文件名,以匹配文件名。
Sub exportFormat()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Const SAVETEXT = "C:\testValues.txt"
Const SAVEDBF = "C:\testDBF.dbf"
' Save the table as a text file.
DoCmd.TransferText acExportDelim, , "Table1", SAVETEXT, TRUE
' Set a reference to the Application object.
Set xlApp = ' Set a reference to the Workbook object.
Set xlBook = xlApp.Workbooks.Open(SAVETEXT, , , ' Save the file to dBase IV format.
xlBook.SaveAs Filename:=SAVEDBF, FileFormat:=xlDBF4
xlBook.Close savechanges:=False
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub