为何用了一个Adodc1控件操作ACCESS打开时如此的缓慢。chanping.mdb大小为700M
Sub Form_Load()
'Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\chanping.mdb" & ";"
'Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\chanping.mdb;Persist Security Info=False"
'Adodc1.CommandType = adCmdText
'Adodc1.RecordSource = "select * from chaping" '这样测试了一下,ADODC控件也会很慢的。
如何解决这个问题?窗体导引时要等上2分钟左右才能打开。(没有报错)
而当我如果使用 rs As New ADODB.Recordset 记录集的话,你们如何程序运行过程中改变查询的语句。
比如第一次打开是是查询全部,单击了Combo1.改变了选择的值的时候。我只要用rs rs1 rs2这样不断的增加记录变量。不要不停考虑是否要去断开的。你们如何解决这种问题 cn2.Open strCn
If Combo1.Text = "ALL" Then
rs2.Open "Select * From chaping", cn2, adOpenKeyset, adLockOptimistic
Else
rs2.Open "select * from chaping where item= '" & Trim(Combo1.Text) & "'", cn2, 1, 1 ' adOpenKeyset, adLockOptimistic
End If
[解决办法]
表中记录比较多最好带条件打开记录集
[解决办法]
超过100M就不应该再用mdb了.
最好不要用select *,而且最好有where,不要太大数据量.如果实在大数据量可以考虑分页.
如果不要修改数据的话,最好用只读,向前游标读取.
为了更好地提升用户体验,你可以考虑用异步方式,加进度条等.