原始 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 文档。

    方法 2:使用 Microsoft Office Excel 设置数据格式

    使用 Excel 设置导出的表中的数据的格式。 为此,请按照下列步骤操作:

  • 在 Excel 中,打开从 Access 导出的类型 dBase IV (*.dbf) 的表。
  • 设置未正确格式化的单元格的格式。 为此,请选择单元格,然后单击 “格式” 菜单上的 “单元 格”。
  • 设置单元格格式后,将电子表格导出为 dBase IV 文件。 为此,请按照下列步骤操作:
    1. 在“文件” 菜单上单击“另存为”
    2. “另存为类型 ”框中,单击 DBF 4 (dbase IV) (*.dbf) ,然后单击 “保存 ”。
    3. 方法 3:使用示例代码设置数据格式

      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
      
  •