Office学院 加入收藏
Office学院 Access Word Excel Powerpoint Wps Access Outlook Tags  
您现在的位置: Office学院 - Access - ACC2002:忽略的 MaxScanRows 设置可能引起链接表中的数据类型不正确

ACC2002:忽略的 MaxScanRows 设置可能引起链接表中的数据类型不正确

添加记录: ACC2002:忽略的  类别: Access 发布日期: 2006.10.19
适用于 高级用户:要求具有高级编程、互操作和多用户技巧。

本文仅适用于 Microsoft Access 数据库 (.mdb)。

症状运行 Visual Basic for Applications 代码从文本文件创建链接表之后,您会发现在一个或多个记录中出现 #_Num!。 原因下列陈述中的一个或两个都为真: 下列注册表项设为零: HKLM\Software\Microsoft\Jet\4.0\Engines\Text\MaxScanRows

您有带有下列条目的 Schema.ini 文件: MaxScanRows=0

如果将 MaxScanRows 设为零,则无论是在注册表中还是在 Schema.ini 文件中,以编程方式链接的任何表都有可能包含数据类型不正确的字段。这是因为,将 MaxScanRows 设为零会引起对整个表进行扫描,以便确定字段的数据类型。当发生这种情况时,数据类型是根据字段中的大多数类型来设置的。因此,如果大多数字段包含数字,而一些字段包含文字,例如,在 Access 中字段定义为具有“数字”的数据类型,使得文本项显示 #_Num!。 解决方案如果您使用文本导入向导进行链接,就不会发生这一问题。但是,如果您必须用代码创建链接,就可以在 Schema.ini 文件中为一个或多个字段定义数据类型。在下列举例中,第一列设为字符数据类型: [Test.txt] Format=CSVDelimited ColNameHeader=false MaxScanRows=0 CharacterSet=ANSI Col1=ID Char Width 3 状态Microsoft 已经确认这是本文开头所列出的 Microsoft 产品本身的问题。 更多信息备注:本文中的示例代码使用 Microsoft 数据访问对象。为使该代码正常运行,您必须引用 Microsoft DAO 3.6 Object Library。为此,要在 Visual Basic 编辑器中单击工具菜单上的引用,并确保选中 Microsoft DAO 3.6 Object Library 复选框。

重现问题的步骤

在驱动器 C 的根目录中创建名为 Test 的文件夹。 在记事本中,创建名为 Test.txt 的文本文件,并输入下列数据。然后,将文件保存在 C:\Test 文件夹中。 a b 1 2 3 在记事本中,创建第二个文件,并输入下列数据: [Test.txt] Format=CSVDelimited ColNameHeader=false MaxScanRows=0 CharacterSet=ANSI 在记事本的文件菜单上,单击另存为。在保存类型框中,单击所有文件,然后将文件保存为 C:\Test\Schema.ini。 创建新的 Access 数据库,然后创建新的 Visual Basic for Applications 模块。 将下列函数输入该模块: Function LinkSchema() Dim db As DAO.Database, tbl As DAO.TableDef Set db = CurrentDb() Set tbl = db.CreateTableDef("Test") tbl.Connect = "Text;DATABASE=c:\Test;TABLE=Test.txt" tbl.SourceTableName = "Test.txt" db.TableDefs.Append tbl db.TableDefs.Refresh End Function 在“立即”窗口中键入以下行,然后按 ENTER 键: ?LinkSchema()

关闭 Visual Basic 编辑器,然后返回到 Access。 打开最新链接的表 Test。 请注意,开头两个记录中出现了 #_Num!。
顶一下
上一篇:Access 2003 停止响应,并出现引用 Msaccess.exe 文件的错误消息
下一篇:建立可重复使用代码的方法。
Tags: Access 技巧 文件 窗口 函数 菜单 导入

相关信息
  • Access 2003 停止响应,并出现引用 Msaccess.exe 文件的错误消息
  • 限制数据库的试用天数
  • 求混合字符串的长度
  • 简单的既可录编码,也可录关键字来完成录入过程的代码
  • 在窗体中屏蔽某些键的使用。
  • 在查询中执行计算的注意事项
  • 如何学好数据库编程?
  • 给自己留后门的方法,很简单的
  • Indent2K代码格式化工具介绍
  • 在报表中实现字体差别
  • 有关ADP禁止SHIFT键的方法
  • 如何解决禁止用SHIFT键打开MDB/MDE文件
  • Access编程技术的应用
  • 移动无边框窗体例程
  • 按年-月-顺序号 自动编号的例程
  • 建立可重复使用代码的方法。
  • 在VBA中使用代码打开设有工作组的MDB文件
  • 用代码打开链接表管理器
  • 常用的日期函数。希望对大家有帮助
  • 改变数据来源来实现统计分析
  • 微软MVP计划
  • 用代码通过ODBC刷新链接(mdb+SQL SEVER2000)
  • 为何要把数据库进行拆分
  • Access的精髓不在VBA之中
  • 给想从事软件研发的年轻工程师的忠告与建议
  • 如何进入程序设计的领域
  • 十个步骤实现自定义菜单栏
  • 在Access中两种方法实现EXCEL报表输出
  • 重置自动编号,并从自定义值开始
  • 局域网:ODBC连接SQL SEVER详解














  • 生日密码
    血型分析
    生肖分析



    制作单位 Office学院 © 版权所有


    联系我们 关于我们 友情链接 站点地图 免责声明


    Office学院,致力于打造专业的OFFICE应用交流平台。