petty 发表于 2005-3-25 16:04:00

问一个很笨的问题,关于VB与数据库?

vb6.0为什么只认识access97格式的数据库(*.mdb)文件,如何让其能识别access2000格式的数据库?? <BR>请大侠指教

zfbj 发表于 2005-3-26 11:07:00

引用ADO 2.5的库即可。

CLARKLEE 发表于 2005-3-27 17:58:00

以下是我利用vb6.0调用access200格式的数据库的源码,希望对你有帮助


Dim conn1 As New ADODB.Connection<BR>Dim rs1 As New ADODB.Recordset<BR>Set conn1 = New ADODB.Connection<BR>conn1.Provider = "microsoft.jet.oledb.4.0"<BR>conn1.ConnectionString = "Data Source=" &amp; dbpath &amp; "stylebook.mdb;" &amp; _<BR>" ;Jet OLEDB:Database password="<BR>conn1.Open<BR>                                                       rs1.CursorType = adOpenKeyset<BR>                                                       rs1.LockType = adLockOptimistic<BR>                                                       rs1.Open "select * from stylebook1", conn1<BR>                                                       rs1.MoveFirst


<BR>'Set dbs = OpenDatabase(dbpath)<BR>                               'Set rs = dbs.OpenRecordset("select * from stylebook", dbOpenDynaset)<BR>                       <BR>               <BR>               For x = 0 To rs1.Fields.Count - 1<BR>               rs1.MoveFirst<BR>               Do While Not rs1.EOF<BR>               m = 0<BR>               y = 1<BR>               temp = rs1.Fields(x).Value<BR>                       If Len(sdate) &lt;= Len(temp) Then<BR>                                                       For y = 1 To Len(temp) - Len(sdate) + 1<BR>                                                                                       If Mid(temp, y, Len(sdate)) = sdate Then<BR>                                                                                                                       For z = 0 To Combo1.ListCount<BR>                                                                                                                                                       If Combo1.List(z) = rs1.Fields("厂商名称").Value Then<BR>                                                                                                                                                                                       m = 1<BR>                                                                                                                                                                                       Exit For<BR>                                                                                                                                                       End If<BR>                                                                                                                       Next z<BR>                                                                                                                       If m = 0 Then<BR>                                                                                                                                                       Combo1.AddItem rs1.Fields("厂商名称").Value<BR>                                                                                                                                                       strsend = strsend &amp; rs1.Fields("厂商名称").Value &amp; "|"<BR>                                                                                                                       End If<BR>                                                                                       m = 0<BR>                                                                                       End If<BR>                                                       Next y<BR>                       End If<BR>                               rs1.MoveNext<BR>               Loop<BR>       <BR>               <BR>               Next x<BR>find_db_typebook = strsend<BR>rs1.Close<BR>Set conn1 = Nothing

petty 发表于 2005-4-18 08:53:00

谢谢大侠,万岁!我终于会了!

efan2000 发表于 2005-4-18 13:36:00

Access 97数据库,Microsoft.Jet.OLEDB.3.51


Access 2000数据库,Microsoft.Jet.OLEDB.4.0


各个数据库的连接其实就是Provider不同而已。

petty 发表于 2005-4-19 08:37:00

还有一个问题,用二楼的方法我虽然已经会实现和access2000格式的数据库实施链接和访问,但我昨天看了书上讲的用data控件静态设置数据文件后,用sql语句也能顺利访问,但还是这个问题.如何用data数据控件静态设置access2000的数据库,是不是要引用什么的,我已经引用了microsoft access9.0 object library和ado 2.5为什么设置data的recordsource属性时还是出现"unrecongize database format"对话框?



注:用ado控件倒是能静态设置access2000的数据库,为什么data控件不行?


请大侠指教!

petty 发表于 2005-4-27 12:39:00

CLARKLEE发表于2005-3-27 17:58:00static/image/common/back.gifIf Len(sdate) &lt;= Len(temp) Then

<BR>请教其中len(sdate)是什么意思??程序前面可没有出现sdate这个变量吗,可是我运行此程序竟然能通过,何也???
页: [1]
查看完整版本: 问一个很笨的问题,关于VB与数据库?