·设为首页
·联系站长
·加入收藏
 位置: IT外包服务提供商 >> 文章频道 >> IT学堂 >> 软件学堂 >> 正文 当前没有通告!
  忽略的 MaxScanRows 设置可能引起链接表中的数据类型不正确    3星级
忽略的 MaxScanRows 设置可能引起链接表中的数据类型不正确
[ 作者:bianhongjin     来源:IT外包     点击数:2114     更新时间:2012-12-8     文章录入:bianhongjin
【字体: 字体颜色
 
症状运行 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!。
编辑:北京信诚www.xcitbm.com>IT保姆www.xcitbm.com>IT外包部 http://www.xcitbm.comwww.xcit.com.cn
  • 上一篇文章: 电脑64位操作系统下访问Access数据库的问题及解决方案

  • 下一篇文章: 电脑64位操作系统下访问Access数据库的问题及解决方案
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
     最新5篇热点文章
     联想固态硬盘SL700在BIOS里...
     IT外包首选我们的八大理由...
     中国劳科院与我公司续签了...
     中共中央政治局常务委员会...
     北京IT外包服务联盟知行社...
     
     最新5篇推荐文章
     0x000000ce蓝屏解决方案
     HP 706n 打印机打印A3纸的...
     什么是网络瓶颈?
     网线质量不好有什么影响?...
     蓝屏提示0x0000006B
     
     相 关 文 章

      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
  • 这篇文章还没有任何评论。
  • ::发表评论::
    姓名:  *  Email: * 
    评分:10  20  30  40  50  60  70  80  90  100