V
Cty mình sử dụng ctrình viết trên access – Front End / Back End và gặp vấn đề là chương trình bị chậm khi có nhiều ngươi cùng sử dụng. Mình đã áp dụng một mẹo nhỏ và thấy có tác dụng nên muốn được chia sẻ cùng các bạn.
1/ Tăng tốc độ cho Combo Box và giới hạn độ dài của Dropdown list
Mẹo được sử dụng ở đây là chúng ta không gán row source cho combo box . Combo box sẽ được gán row source sau khi người nhập liệu gõ 3 ký tự đầu tiên.
Chúng ta có 1 Table tên My_Words và một Combo Box tên Field1_Combo
Sử dụng đọan Code sau:
Private Sub Field1_Combo_Change()
Dim strText As String
strText = Nz(Me.Field1_Combo.Text, "")
If Len(strText) > 2 Then
Me.Field1_Combo.RowSource = "Select keywords from " _
& "My_Words " _
& "where keywords like '" & strText & "*' " _
& "order by keywords"
Me.Field1_Combo.Dropdown
End If
End Sub
2/ Tăng tốc cho Form
Cũng cùng một mẹo như trên , record source & row source sẽ được gán khi form load
Private Sub Form_Load()
Me.RecordSource = "qryLargeTable"
Me.txtSomeField.RowSource = _
"SELECT SomeField " & _
"FROM qryLargeTable " & _
"GROUP BY SomeField " & _
"ORDER BY SomeField;"
End Sub
Private Sub Form_Unload(Cancel As Integer)
Me.RecordSource = ""
Me.cboFindRecord.RowSource = ""
End Sub
Hi vọng sẽ giúp gì được cho bạn.
VAS
1/ Tăng tốc độ cho Combo Box và giới hạn độ dài của Dropdown list
Mẹo được sử dụng ở đây là chúng ta không gán row source cho combo box . Combo box sẽ được gán row source sau khi người nhập liệu gõ 3 ký tự đầu tiên.
Chúng ta có 1 Table tên My_Words và một Combo Box tên Field1_Combo
Sử dụng đọan Code sau:
Private Sub Field1_Combo_Change()
Dim strText As String
strText = Nz(Me.Field1_Combo.Text, "")
If Len(strText) > 2 Then
Me.Field1_Combo.RowSource = "Select keywords from " _
& "My_Words " _
& "where keywords like '" & strText & "*' " _
& "order by keywords"
Me.Field1_Combo.Dropdown
End If
End Sub
2/ Tăng tốc cho Form
Cũng cùng một mẹo như trên , record source & row source sẽ được gán khi form load
Private Sub Form_Load()
Me.RecordSource = "qryLargeTable"
Me.txtSomeField.RowSource = _
"SELECT SomeField " & _
"FROM qryLargeTable " & _
"GROUP BY SomeField " & _
"ORDER BY SomeField;"
End Sub
Private Sub Form_Unload(Cancel As Integer)
Me.RecordSource = ""
Me.cboFindRecord.RowSource = ""
End Sub
Hi vọng sẽ giúp gì được cho bạn.
VAS