找回密码
 加入
搜索
查看: 4136|回复: 8

[系统综合] [已解决]AUTO怎么操作ACCESS 2007

  [复制链接]
发表于 2014-5-7 12:40:59 | 显示全部楼层 |阅读模式
本帖最后由 baoxingchun 于 2014-5-13 10:33 编辑

这段代码到底哪错了。。。。?希望大神能出本AUTO对各种数据库操作和C/S结构的书籍!

$data="jl.accdb"
$biao1 = "kx"
$x = ""
$mdbcon = ObjCreate("ADODB.Connection")
$mdbcon.Open("Provider=Microsoft.Ace.OLEDB.12.0; Data Source="&$data)
        $RS =ObjCreate("ADODB.Recordset")
        $RS.ActiveConnection = $mdbcon
         $rs.open("SELECT * FROM "&$biao1)
         $x = $rs.fields(2).value
               $rs.close
                           $mdbcon.close
                           MsgBox(0,"",$x)
发表于 2014-5-8 09:11:30 | 显示全部楼层
ACCESS2003:

$mdbcon = ObjCreate("ADODB.Connection")
$mdbcon.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&$data)
发表于 2014-5-8 12:10:19 | 显示全部楼层
不管电脑上有没有安装Access,Au3都是可以处理Access数据库的
$newMdb = ObjCreate("ADOX.Catalog")
                $newMdb.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path)
                $newMdb.ActiveConnection.Close;建数据库
                $addtbl = ObjCreate("ADODB.Connection")
                $addtbl.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path)
                $addtbl.Execute("CREATE TABLE " & $dbTable)
                $addtbl.Close;建表
                $addfld = ObjCreate("ADODB.Connection")
                $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path)
                $addfld.Execute("ALTER TABLE " & $dbTable & " ADD id identity(1, 1) primary key,ActualDate Datetime,WorkHour text(10),ErrorDescription text(20),PalletID text(5),CarrierID text(10)")
                $addfld.Close;建列表名
 楼主| 发表于 2014-5-9 22:22:21 | 显示全部楼层
Provider=Microsoft.JET.OLEDB.4.0; Data Source="&$data
这个是打开2000或者03版本的,07版本这样都不能打开
 楼主| 发表于 2014-5-9 22:22:50 | 显示全部楼层
我用的是64位操作系统,装不了那个03版本的
发表于 2014-5-9 23:13:48 | 显示全部楼层
发一个ACCESS2007创建的数据库我试试
发表于 2014-5-11 20:44:08 | 显示全部楼层
;~ 读取 RecordSet - 记录集
Func _ReadRecordset($ADORs)
        Local $LW_RES[2][2], $LW_ls = 0
        $LW_RES[0][0] = $ADORs.Fields.Count
        ;MsgBox(0,'', $ADORs.Fields.Count)
        If $LW_ls = 0 And $ADORs.Fields.Count + 1 > 2 Then
                ReDim $LW_RES[2][$ADORs.Fields.Count + 1]
                $LW_ls = 1
        EndIf
        For $i = 0 To $ADORs.Fields.Count - 1
                $LW_RES[0][$i + 1] = $ADORs.Fields($i).Name
        Next
        If $ADORs.RecordCount Then
                Local $Count = 1
                While Not $ADORs.EOF
                        $Count += 1
                        ReDim $LW_RES[$Count][$LW_RES[0][0] + 1]
                        For $i = 0 To $ADORs.Fields.Count - 1
                                $LW_RES[$Count - 1][$i + 1] = $ADORs.Fields($i).Value
                        Next
                        $ADORs.MoveNext
                WEnd
                $LW_RES[1][0] = $Count - 1
        EndIf
        ;EndWith
        Return $LW_RES
EndFunc   ;==>_ReadRecordset
;
发表于 2014-5-11 21:51:18 | 显示全部楼层
楼主的代码没问题,win764+office2013通过

如果不想装office2007或以上的版本,可以单独安装AccessDatabaseEngine
http://www.microsoft.com/zh-cn/download/details.aspx?id=13255
 楼主| 发表于 2014-5-13 10:33:46 | 显示全部楼层
谢谢 athland5013
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-15 09:51 , Processed in 0.081459 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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