最开始我用jet...可是无论怎么样都不行,网上说要开放权限,我已经开放得都快没有秘密了
.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path + "\aaa.xls" + ";Persist Security Info=false;Extended Properties=""Excel 8.0;ReadOnly=False;HDR=YES;IMEX=1;"";" 然后看见大家都不这么连,就换了种方式
Conn.Open "Driver={Microsoft Excel Driver (*.xls)};ReadOnly=False;DriverId=790;DBQ=" & App.Path + "\aaa.xls" & ";DefaultDir=;"
这个样子,因为看见一位老兄也是更新不了,但是他加上ReadOnly=False这之后就正常,可是我还是没法更新,还有什么诸如 .mode=3 啊什么的,我都试了一百次了~~
请大家帮帮忙~~
.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path + "\aaa.xls" + ";Persist Security Info=false;Extended Properties=""Excel 8.0;ReadOnly=False;HDR=YES;IMEX=1;"";" 然后看见大家都不这么连,就换了种方式
Conn.Open "Driver={Microsoft Excel Driver (*.xls)};ReadOnly=False;DriverId=790;DBQ=" & App.Path + "\aaa.xls" & ";DefaultDir=;"
这个样子,因为看见一位老兄也是更新不了,但是他加上ReadOnly=False这之后就正常,可是我还是没法更新,还有什么诸如 .mode=3 啊什么的,我都试了一百次了~~
请大家帮帮忙~~
Dim adoRecordset As New ADODB.Recordset
'OLE DB + ODBC Driver 方式:
'adoConnection.Open "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=e:\temp\book2.xls"
'Microsoft.Jet.OLEDB.4.0 方式,(建议)
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=e:\temp\book2.xls;Extended Properties='Excel 8.0;HDR=Yes'"
adoRecordset.Open "select * from [sheet1$]", adoConnection, adOpenKeyset, adLockOptimistic
Debug.Print adoRecordset.RecordCount
Dim i As Integer
Do Until adoRecordset.EOF
For i = 0 To adoRecordset.Fields.Count - 1
Debug.Print adoRecordset.Fields.Item(0).Name
Debug.Print adoRecordset.Fields.Item(0).Value
Next i
adoRecordset.MoveNext
Loop
'注: OLE DB + ODBC Driver 方式不支持以下语句,但 Microsoft.Jet.OLEDB.4.0 方式支持!
adoConnection.Execute "insert into [sheet1$](F1) values(3)"
adoRecordset.AddNew Array("f1", "f2", "f3", "f4"), Array(1, 2, 3, 4)
------------
www.vicmiao.com
努力就有美好時光!
www.vicmiao.com
努力就有美好时光!