petertian 发表于 2004-4-20 15:31:00

[VBA][求助]数据库关联问题?????

数据库关联问题,各位VBA高手及大虾,我现在由若干幅图,图内有若干个房子(为封闭的多边形),在房子(多边形)内部有好几条注记信息,其中有一条注记是四位数的编码(ID号码),我现在在VBA中可以对数据库进行操作,可以读出数据库(access数据库)中的每条纪录,我现在欲将图内房子中ID编码和数据库中ID编码相同的纪录关联起来,想自动化处理,不知该怎么做,用手工逐个关联很麻烦,因为我的房子很多,图幅也很多!请求各位大虾及高手我用VBA编写程序怎么关联!随贴附上图和数据库!十万火急!多谢!

雪山飞狐_lzh 发表于 2004-4-20 17:52:00

前面不是发了一样的帖子么???

petertian 发表于 2004-4-20 18:04:00

to lzh:


上次的不行!所答非所问!

雪山飞狐_lzh 发表于 2004-4-20 18:11:00

怎么,不懂?



用我给你的代码可以实现程序连接数据库呀,用手工逐个关联我从来没用过,感觉像玩具一样。


房子中ID编码和数据库中ID编码相同的纪录关联起来只用作个SQL语句查询就行了





myrs.open "select * from table1 where Id=2001"


可以查询table1表中id为2001的数据


用myrs.fields(n).value查询各列的值

雪山飞狐_lzh 发表于 2004-4-20 19:13:00

本帖最后由 作者 于 2004-4-20 20:14:28 编辑

给你一个完整代码吧Private mycon As New ADODB.Connection
Privatemyrs As New ADODB.Recordset
Public Datas As Variant
Private Sub Class_Initialize()
mycon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db1.mdb;Persist Security Info=False"
mycon.Open
myrs.ActiveConnection = mycon
myrs.CursorType = adOpenDynamic
myrs.CursorLocation = adUseClient
myrs.Open "select * from dee where id=1001"
End Sub
Private Sub Class_Terminate()
myrs.Close
End Sub
Public Sub Find(Index As String)
Dim pDatas() As Variant
myrs.Close
myrs.CursorType = adOpenDynamic
myrs.CursorLocation = adUseClient
myrs.Open "select * from dee where id=" & Trim(Index)
ReDim pDatas(myrs.Fields.Count - 1) As Variant
For i = o To myrs.Fields.Count - 1
pDatas(i) = myrs.Fields(i)
Next i
Datas = pDatas
End Sub注意:红色部分的数据库路径要给全将上述代码存为Clsdb类,在程序中用下列方式调用Sub test()
Dim a As New clsDB
a.Find "1001"
MsgBox a.Datas(2)
End Sub

petertian 发表于 2004-4-21 09:12:00

to lzh:


                               小弟多谢您的鼎力相助!!感谢!感谢!我的QQ:85580544,希望我们能常联系!相互交流!!
页: [1]
查看完整版本: [VBA][求助]数据库关联问题?????