baoxingchun 发表于 2014-5-7 12:40:59

[已解决]AUTO怎么操作ACCESS 2007

本帖最后由 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)

chzj589 发表于 2014-5-8 09:11:30

ACCESS2003:

$mdbcon = ObjCreate("ADODB.Connection")
$mdbcon.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&$data)

xms77 发表于 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;建列表名

baoxingchun 发表于 2014-5-9 22:22:21

Provider=Microsoft.JET.OLEDB.4.0; Data Source="&$data
这个是打开2000或者03版本的,07版本这样都不能打开

baoxingchun 发表于 2014-5-9 22:22:50

我用的是64位操作系统,装不了那个03版本的

chzj589 发表于 2014-5-9 23:13:48

发一个ACCESS2007创建的数据库我试试

seeking 发表于 2014-5-11 20:44:08

;~ 读取 RecordSet - 记录集
Func _ReadRecordset($ADORs)
        Local $LW_RES, $LW_ls = 0
        $LW_RES = $ADORs.Fields.Count
        ;MsgBox(0,'', $ADORs.Fields.Count)
        If $LW_ls = 0 And $ADORs.Fields.Count + 1 > 2 Then
                ReDim $LW_RES[$ADORs.Fields.Count + 1]
                $LW_ls = 1
        EndIf
        For $i = 0 To $ADORs.Fields.Count - 1
                $LW_RES[$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 + 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 = $Count - 1
        EndIf
        ;EndWith
        Return $LW_RES
EndFunc   ;==>_ReadRecordset
;

athland5013 发表于 2014-5-11 21:51:18

楼主的代码没问题,win764+office2013通过

如果不想装office2007或以上的版本,可以单独安装AccessDatabaseEngine
http://www.microsoft.com/zh-cn/download/details.aspx?id=13255

baoxingchun 发表于 2014-5-13 10:33:46

谢谢 athland5013
页: [1]
查看完整版本: [已解决]AUTO怎么操作ACCESS 2007