datagrid怎么无法及时更新数据表显示呢?
在一个窗体上通过不同的按钮 来查询同一个access数据库的不同的表
并显示在另一个窗体的datagrid1控件内。
可是问题是 第一次点击某按钮load出来的窗体上的datagrid1内数据显示正确,就是第一张表的,可是当接着点击第二个按钮时,datagrid1内的显示数据没有变成第二个表的,还是第一个表的内容。当再点击第三个按钮时,datagrid1显示的数据则变为第二张表...
搞了半天也搞不明白 下面是代码 没办法了 郁闷
Public Sub Form_Load()
...
DataGrid1.AllowUpdate = True
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mdb1.mdb;Persist Security Info=False "
Set rs = New ADODB.Recordset
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
conn.CursorLocation = adUseClient
Select Case sheet
Case 1
rs.Open "SELECT * FROM first ", conn, rs.CursorType, rs.LockType
Case 2
rs.Open "SELECT * FROM second ", conn, rs.CursorType, rs.LockType
End Select
DataGrid1.ClearFields
DataGrid1.Refresh
Set DataGrid1.DataSource = rs
rs.Update
DataGrid1.Refresh
DataGrid1.ReBind
End If
...
End Sub
[解决办法]
强烈建立不要再使用这个控件了,这个控件玩死过我好几回,我怕了。
[解决办法]
建议不要用adodc
给你个例子
你试试吧,好用的
记得要引用ado
你只需要在工程/引用 miscrosoft Activex data objects 2.x library 就可以了
Dim Db As Connection
Dim WithEvents adoPrimaryRS As Recordset '数据库连接对象
Private Sub Command1_Click()
strsql= "select 字段 from 表 where 你的条件 "
Set Db = New Connection
Db.CursorLocation = adUseClient
'下面的连接数据字符串你要修改一下
Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\计划管理系统.mdb;Persist Security Info=False "
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open strsql, Db, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = adoPrimaryRS
end sub