mrsiro > 22-11-18, 07:09 PM
maidinhdan > 24-11-18, 05:40 PM
(22-11-18, 07:09 PM)mrsiro Đã viết: Chào bạn maidinhdan, mình muốn hỏi các loại con trỏ chỉ có tác dụng rõ rệt khi và chỉ khi giữ kết nối liên tục đến server đúng không.
Mình đã test thử với trường hợp lấy recordset về sau đó ngắt kết nối, thì không thấy có khác biệt gì giữa static và dynamic. Bởi vì sau khi lấy recordset rồi ngắt kết nối thì người dùng khác có xóa hay thay đổi dữ liệu trên server thì ở máy của mình vẫn ko có gì thay đổi. Chỉ khi gọi lại kết nối load lại recordset thì sẽ thấy thay đổi của recordset.
Và bởi vì lí do đó nên hiện tại trong project của mình hầu như chỉ sử dụng static. Có vài trường hợp phải kết nối liên tục đến sqlserver thì mới dùng kiểu dynamic.
mrsiro > 25-11-18, 01:00 PM
maidinhdan > 25-11-18, 02:50 PM
(25-11-18, 01:00 PM)mrsiro Đã viết: Chào bạn maidinhdan
Mình đang tìm hiểu về class module, có đọc qua vài bài viết của bạn mình chưa tưởng tượng được để dùng class thì phải làm thế nào.
Đối với các function trong phần module thì mình hiểu được là khai báo các chức năng trong function đó rồi gọi nó ra mỗi khi cần.
Còn class thì nó lại bao gồm nhiều thứ trong đó, cả property, rồi function rồi cả sub trong đó nữa. Vậy khi cần thì mình gọi cái gì trong 3 cái trên đó.
Ví dụ như cái Initialize thì dùng để làm gì, có tác dụng gì trong cái class đó. Khi mình gọi class đó thì cái initialize tự chạy hay như thế nào.
Thật sự vấn đề mình đang gặp ở đây là mình chưa tưởng tượng được class dùng như thế nào, các property, sub, function trong class sẽ được sử dụng riêng lẽ từng cái mỗi khi gọi, hay là gọi class tự động mấy cái đó chạy theo.
Nếu có demo hay tài liệu nào bạn cho mình xin tham khảo nhé.
Option Compare Database
Option Explicit
Private mstrDiachiIP As String
Private mstrTaikhoan As String
Private mstrTenmaytinh As String
Private mstrTenthat As String
Private mdtThoigian As Date
Private mEdit As Boolean
Public Property Get DiachiIP() As String
DiachiIP = mstrDiachiIP
End Property
Public Property Let DiachiIP(rData As String)
mstrDiachiIP = rData
End Property
Public Property Get Taikhoan() As String
Taikhoan = mstrTaikhoan
End Property
Public Property Let Taikhoan(rData As String)
mstrTaikhoan = rData
End Property
Public Property Get Tenmaytinh() As String
Tenmaytinh = mstrTenmaytinh
End Property
Public Property Let Tenmaytinh(rData As String)
mstrTenmaytinh = rData
End Property
Public Property Get Tenthat() As String
Tenthat = mstrTenthat
End Property
Public Property Let Tenthat(rData As String)
mstrTenthat = rData
End Property
Public Property Get Thoigian() As Date
Thoigian = mdtThoigian
End Property
Public Property Let Thoigian(rData As Date)
mdtThoigian = rData
End Property
Private Sub Load()
With rst
Me.DiachiIP = Nz(.Fields("DiachiIP").Value)
Me.Taikhoan = Nz(.Fields("Taikhoan").Value)
Me.Tenmaytinh = Nz(.Fields("Tenmaytinh").Value)
Me.Tenthat = Nz(.Fields("Tenthat").Value)
Me.Thoigian = Nz(.Fields("Thoigian").Value)
End With
mEdit = True
End Sub
Public Sub Update()
With rst
If mEdit = True Then
' .Edit
Else
.AddNew
End If
.Fields("DiachiIP").Value = FixNull(Me.DiachiIP)
.Fields("Taikhoan").Value = FixNull(Me.Taikhoan)
.Fields("Tenmaytinh").Value = FixNull(Me.Tenmaytinh)
.Fields("Tenthat").Value = FixNull(Me.Tenthat)
' .Fields("Thoigian").Value = Me.Thoigian
.Update
End With
mEdit = True
End Sub
Public Sub AddNew()
KetnoiADORst "SELECT * FROM tblLichsudangnhap ORDER BY Thoigian", False 'Hien Thi de Them/Xoa/Sua
mEdit = False
End Sub
Private Sub Class_Terminate()
TatKetnoiRst
End Sub
Function HienThiLenForm(Tenform As Form)
Set Tenform.Recordset = KetnoiADORst("SELECT * FROM tblLichsudangnhap ORDER BY Thoigian DESC") 'Hien Thi Chi xem
End Function
Private Sub Form_Load()
Dim cls As clsLichsudangnhap
Set cls = New clsLichsudangnhap
With cls
.HienThiLenForm Me
End With
Set cls = Nothing
End Sub
Private Sub cmdLuulai_Click()
'Ra lenh luu
Dim cls As clsTaikhoan
Set cls = New clsTaikhoan
With cls
.Add
.Taikhoan = Me.Tentaikhoan
.Update
End With
Set cls = Nothing
End Sub
ongke0711 > 25-11-18, 07:50 PM
LUUTHAI > 14-12-18, 08:32 PM
nguyencuong1995 > 25-10-19, 11:35 AM
nghiep > 29-10-19, 12:21 PM
trongtintao > 31-10-19, 03:08 PM