问一个很笨的问题,关于VB与数据库?
vb6.0为什么只认识access97格式的数据库(*.mdb)文件,如何让其能识别access2000格式的数据库?? <BR>请大侠指教 引用ADO 2.5的库即可。 以下是我利用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=" & dbpath & "stylebook.mdb;" & _<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) <= 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 & rs1.Fields("厂商名称").Value & "|"<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 谢谢大侠,万岁!我终于会了! Access 97数据库,Microsoft.Jet.OLEDB.3.51
Access 2000数据库,Microsoft.Jet.OLEDB.4.0
各个数据库的连接其实就是Provider不同而已。 还有一个问题,用二楼的方法我虽然已经会实现和access2000格式的数据库实施链接和访问,但我昨天看了书上讲的用data控件静态设置数据文件后,用sql语句也能顺利访问,但还是这个问题.如何用data数据控件静态设置access2000的数据库,是不是要引用什么的,我已经引用了microsoft access9.0 object library和ado 2.5为什么设置data的recordsource属性时还是出现"unrecongize database format"对话框?
注:用ado控件倒是能静态设置access2000的数据库,为什么data控件不行?
请大侠指教! CLARKLEE发表于2005-3-27 17:58:00static/image/common/back.gifIf Len(sdate) <= Len(temp) Then
<BR>请教其中len(sdate)是什么意思??程序前面可没有出现sdate这个变量吗,可是我运行此程序竟然能通过,何也???
页:
[1]