1, M c đích :
- Dùng khi mu n th ng kê tn RecordSet : T ng, Max, Min
- Th ng kê trên m t s b n ghi tho mãn đi u ki n
2, Duy t RecordSet :
- nh đ ng Clone c a RecordSet : t o m t RecordSet t m d a
trên RS c n tính toán đ duy t m u tin. Do đó, s không nh
hưng đ n m u tin hi n hành và tình tr ng d li u trong ế RS chính.
2, Duy t RecordSet :
- C u trúc vòng l p duy t RecordSet :
+ S d ng vòng l p Do While … Loop
If <rst>.RecordCount >0 then <rst>.MoveFirst
Do While Not <rst>.EOF
<Các l nh tính toán>
<rst>.MoveNext
Loop
+ S d ng vòng l p For … Next
For i = 1 to <rst>.RecordCount
<rst>.AbsolutePosition = i
<các l nh tính tn>
Next
Ví d : hàm RSUM đ tính t ng
Function RSum(rst As ADODB.RecordSet, field As
String, dk As String)
Dim tong, rs as ADODB.RecordSet
tong = 0
Set rs = rst.Clone
rs.Filter = dk
Do While Not rs.EOF
tong = tong + rs(field).Value
rs.MoveNext
Loop
Rsum = tong
End Function
3, T p h p Fields và đ i t ư ng Field c a RecordSet :
- Count : cho bi t s field c a RecordSetế
- Item : ch đ n m t field trong t p h pế
- Append : cho phép thêm m t field vào t p h p Fields
- Delete : Xoá b m t field kh i t p h p Fields
Ví d : t o m t RS g m 3 tr ư ng
Dim Rs as ADODB.RecordSet
Set rs = New ADODB.RecordSet
Rs.Fields.Append "ma",adChar,5,adFldUpdatable
Rs.Fields.Append "hoten",adChar,30,adFldUpdatable
Rs.Fields.Append "phai",adBoolean,,adFldUpdatable
Rs.Open
1, Mô t các ràng bu c toàn v n th ư ng g p :
- ràng bu c khoá chính : kng th hai mã gi ng nhau
- ràng bu c khoá ngo i : nn viên kng th thu c v m t
png ban chưa có trong danh m c png ban.
- ràng bu c logic ph c t p : khi th c hi n c p nh t trên
nhi u b ng d li u.
2, Ví d cách x các ràng bu c đơn gi n :
VD1 : x ng bu c khoá chính khi trùng mã
If DCOUNT(select * from NhanVien Where manv=’” &
rstNV(“manv”).Value &”’”) > 0 Then
MsgBox “Mã này đã t n t i trong CSDL”
. . .
End If