AnNguyen > 02-08-23, 05:40 PM
set SubformABC.form.recordset = rst
rst.close
conn.close 
While not rst.EOF
.......
wend 
ongke0711 > 02-08-23, 07:14 PM
AnNguyen > 03-08-23, 08:47 AM
ongke0711 > 03-08-23, 05:51 PM
(03-08-23, 08:47 AM)AnNguyen Đã viết:(02-08-23, 07:14 PM)ongke0711 Đã viết: - Em đóng connection thôi.
- Duyệt trong SubForm recordset Clone thử xem.
Set rs = Subform.RecordsetClone
Em làm cũng làm như thế rồi nhưng nó hay hiện ra như thế này anh ạ.
ongke0711 > 04-08-23, 02:53 AM
![[Hình: hwqFbOYl.png]](https://i.imgur.com/hwqFbOYl.png)
Dim rsClone As Object
    Set rsClone = Me.SubFormName.Form.Recordset.Clone 
Private Sub cmdXuLy_Click()
    On Error GoTo XuLyError
    Dim rs As Object 'ADODB.Recordset'
    Dim sSQL As String
    
    Set rs = CreateObject("ADODB.Recordset")    'New ADODB.Recordset'
    sSQL = "Select * From dbo.Categories"
    rs.CursorLocation = 3                      'adUseClient'
    rs.Open sSQL, oCnn, 3, 4                    'adOpenstatic, adLockBatchOptimistic'
    
    Set Me.sfmCat.Form.Recordset = rs
    'Dong ket noi Recordset va ket noi toi Database --> tao 'Disconnected ADODB Recordset
    Set rs.ActiveConnection = Nothing
    oCnn.Close
    
    'Test recordset'
    Do Until rs.EOF
        Debug.Print rs.Fields(1).Value
        rs.MoveNext
    Loop
    
    rs.Close
    Set rs = Nothing
    Exit Sub
    
XuLyError:
    If Err > 0 Then
        MsgBox "Có loi phat sinh." & vbCrLf & "Ma loi: " & Err.Number _
            & "Noi dung: " & Err.Description, vbCritical, "Get Recordset Function"
        Exit Sub
    End If
End Sub 
AnNguyen > 04-08-23, 09:16 AM
'Dong ket noi Recordset va ket noi toi Database --> tao 'Disconnected ADODB Recordset
    Set rs.ActiveConnection = Nothing
    oCnn.Close 
ongke0711 > 04-08-23, 10:04 AM
(04-08-23, 09:16 AM)AnNguyen Đã viết: Anh ơi cho em hỏi nếu sử dụng oCnn.Close thì nghĩa là ngắt kết nối đến máy chủ. Và khi thao tác gì đó nó sẽ kết nối lại.
Vậy việc đóng/mở kết nối liên tục có gây đến hiệu suất gì không ạ?