找回密码
 加入
搜索
查看: 2151|回复: 1

[AU3基础] 读取ACCESS 老是错误,翻译了一下,还是不明白

[复制链接]
发表于 2014-3-3 18:35:10 | 显示全部楼层 |阅读模式
本帖最后由 5735988 于 2014-3-3 18:38 编辑

Func _accessListTables($adSource)
   Local $oList = ''
   $oADO = 'ADODB.Connection'
   If IsObj($oADO) Then
      $oADO = ObjGet('',$oADO)
   Else
      $oADO = _dbOpen($adSource)
   EndIf
   If IsObj($oADO) = 0 Then Return SetError(1)
   $oRec = $oADO.OpenSchema($adSchemaTables)
   While NOT $oRec.EOF
;~       If StringLen( $oRec("TABLE_TYPE").value) > 5 Then;; Skip the hidden internal tables
;~          $oRec.movenext
;~          ContinueLoop
;~       EndIf
      $oList = $oList & $oRec("TABLE_NAME").value & '|'
      $oRec.movenext
   Wend
   If $oList <> '' Then
      $oADO.close
      Return '|' & StringTrimRight($oList,1)
   Else
      SetError(3, 0, 0)
      $oADO.close
      Return $oList
   EndIf
EndFunc    ;<===> _accessListTables()


上面这段是 ACCESS.AU3  里面的文本.

---------------------------显示的错误

-"C:\autoit3\Include\Access.au3" (471) : ==> ????? "With" ????.:
If StringLen( $oRec("TABLE_TYPE").value) > 5 Then
If StringLen( $oRec("TABLE_TYPE")^ ERROR
->18:37:21 AutoIT3.exe 完成:[CODE]:1



这段应该是如果字段大于5  就隐藏字段名,是这个意思吗?         删除掉,就出现了很多的隐藏字符。。


删除掉下面这段,还是不能正常使用。。。。
;~       If StringLen( $oRec("TABLE_TYPE").value) > 5 Then;; Skip the hidden internal tables
;~          $oRec.movenext
;~          ContinueLoop
;~       EndIf
发表于 2014-3-4 18:06:23 | 显示全部楼层
回复 1# 5735988


    贴出的函数是获取特定数据库文件中的所有表格的名称。但不包括所有的隐藏的内置表。
并非是操作字段名。
出现此错误,个人估计是文件数据不符合ACCESS标准,或者是ACCESS系统已被破坏,需要重新安装。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 20:52 , Processed in 0.088917 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表