我用msflexgrid显示数据,然后界面上有单独的按钮来控制显示,删除记录的代码如下:Dim db As Database
Dim rs As Recordset
strMysql = "DELETE 某个记录 FROM 某个表 WHERE 条件"
Set db = DBEngine.OpenDatabase(x.mdb)
db.Execute strMysql
db.Close
Set db = Nothing
上边的删除完成后,就点击按钮用“SELECT * FROM 某个表”来显示剩下的记录,
Dim db As Database
Dim rs As Recordset
strMysql = "SELECT * FROM 某个表"
Set db = DBEngine.OpenDatabase(x.mdb)
Set rs = db.OpenRecordset(strMysql)
msflexgrid.textmatrix(1,1)=rs.fileds(0).value
.....
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
可是会发现,刚才删除的那条记录有时候会还在,需要再点击一次或者几次这个按钮才能刷新过来,可有的时候一次就刷新过来了,不知道这是怎么回事?是我在删除以后哪里没有刷新么?
删除是这种情况,如果用语句修改某个记录以后也会有这种情况,需要点按钮刷新几次才能看到更改后的结果,可有的时候只刷新一次就看到了,不清楚怎么回事?
希望有高手可以指教一下啊,我在北京,方便的话我可以去找您当面请教,不胜感谢。
Dim rs As Recordset
strMysql = "DELETE 某个记录 FROM 某个表 WHERE 条件"
Set db = DBEngine.OpenDatabase(x.mdb)
db.Execute strMysql
db.Close
Set db = Nothing
上边的删除完成后,就点击按钮用“SELECT * FROM 某个表”来显示剩下的记录,
Dim db As Database
Dim rs As Recordset
strMysql = "SELECT * FROM 某个表"
Set db = DBEngine.OpenDatabase(x.mdb)
Set rs = db.OpenRecordset(strMysql)
msflexgrid.textmatrix(1,1)=rs.fileds(0).value
.....
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
可是会发现,刚才删除的那条记录有时候会还在,需要再点击一次或者几次这个按钮才能刷新过来,可有的时候一次就刷新过来了,不知道这是怎么回事?是我在删除以后哪里没有刷新么?
删除是这种情况,如果用语句修改某个记录以后也会有这种情况,需要点按钮刷新几次才能看到更改后的结果,可有的时候只刷新一次就看到了,不清楚怎么回事?
希望有高手可以指教一下啊,我在北京,方便的话我可以去找您当面请教,不胜感谢。
Dim rs As Recordset
strMysql = "DELETE 某个记录 FROM 某个表 WHERE 条件"
Set db = DBEngine.OpenDatabase(x.mdb)
db.Execute strMysql
db.Close
Set db = Nothingmsflexgrid.Clear上边的删除完成后,就点击按钮用“SELECT * FROM 某个表”来显示剩下的记录,
Dim db As Database
Dim rs As Recordset
strMysql = "SELECT * FROM 某个表"
Set db = DBEngine.OpenDatabase(x.mdb)
Set rs = db.OpenRecordset(strMysql)
msflexgrid.textmatrix(1,1)=rs.fileds(0).value
.....
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
添加msflexgrid.Clear
先清空msflexgrid
'引用Micrsoft Active Data Object 2.6 Library'删除记录
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & "Data Source = E:\db1.mdb;" & _
"mode=ReadWrite"
cnn.Open
strMysql = "DELETE 某个记录 FROM 某个表 WHERE 条件"
cnn.Execute strMysql
cnn.Close'刷新记录
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & "Data Source = E:\db1.mdb;" & _
"mode=ReadWrite"
cnn.Open
strMysql = "SELECT * FROM 某个表"
rs.Open strMysql, cnn, adOpenKeyset, adLockOptimistic
MSFlexGrid1.TextMatrix(1, 1) = rs(0)
Dim rs As RecordsetPrivate Sub Form_Load()
Set db = DBEngine.OpenDatabase(x.mdb)
End SubPrivate Sub Form_Unload()
db.Close
Set db = Nothing
End SubPrivate Sub cmdDel_Cllick()
strMysql = "DELETE 某个记录 FROM 某个表 WHERE 条件"
db.Execute strMysql
End IfPrivate Sub cmdSelect_Click()
strMysql = "SELECT * FROM 某个表"
Set rs = db.OpenRecordset(strMysql)
msflexgrid.textmatrix(1,1)=rs.fileds(0).value
.....
rs.Close
Set rs = Nothing
End Sub这样就会从内存缓冲区直接读数据了。