Bài giảng Lập trình trực quan - Bài 6: Tính toán thống kê
Số trang: 10
Loại file: ppt
Dung lượng: 199.50 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mục đích của Bài giảng Lập trình trực quan - Bài 6: Tính toán thống kê là giúp người dùng khi muốn thống kê trên RecordSet : Tổng, Max, Min,...; Thống kê trên một số bản ghi thoả mãn điều kiện. Tài liệu này giúp ích cho quá trình học tập và giảng dạy, mời tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình trực quan - Bài 6: Tính toán thống kê1, Mục đích : - Dùng khi muốn thống kê trên RecordSet : Tổng, Max, Min… - Thống kê trên một số bản ghi thoả mãn điều kiện2, Duyệt RecordSet : - Hà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 .RecordCount >0 then .MoveFirst Do While Not .EOF .MoveNext Loop + Sử dụng vòng lặp For … Next For i = 1 to .RecordCount .AbsolutePosition = i NextVí dụ : hàm RSUM để tính tổng Function RSum(rst As ADODB.RecordSet, field AsString, 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 = tongEnd Function3, 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 FieldsVí 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.Open1, Mô tả các ràng buộc toàn vẹn thường gặp : - ràng buộc khoá chính : không thể có hai mã giống nhau - ràng buộc khoá ngoại : nhân viên không thể thuộc về mộtphòng ban chưa có trong danh mục phòng ban. - ràng buộc logic phức tạp : khi thực hiện cập nhật trênnhiều bảng dữ liệu. 2, Ví dụ cách xử lý các ràng buộc đơn giản : VD1 : xử lý rà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 IfVD2 : Xử lý ràng buộc khoá ngoạikiểm tra xem phòng nhập đã có chưaIf DCOUNT(Select * From PHONG WHERE maph =’” &rstNV(“maph”).Value &”’”)= 0 then MsgBox “Phòng này chưa có trong CSDL”...End IfVD3 : Xử lý ràng buộc miền giá trị :Kiểm tra nhập ngày đã đúng chưaIf IsDate(rstNV(“ngaysinh”).Value))= False then MsgBox “Ngày sinh không hợp lệ” ...End IfVD4 : Xử lý ràng buộc liên thuộc tính+ Nhân viên nhận vào phải trên 18 tuổiIf (Year(Date()) - Year(rstNV(“Ngaysinh”).Value) ) < 18 Then MsgBox “Nhân sự không đủ tuổi làm việc” ...End If+ Ngày chuyển công tác bao giờ cũng lớn hơn ngày nhận côngtác.3, Xử lý các ràng buộc phức tạp : 3.1, Các Field cần chú ý trong CSDL : + Các Field mang ý nghĩa : số lượng, thời điểm … + Các Field tính toán : số lượng, thành tiền,… 3.2, Xây dựng hàm kiểm tra cho các ràng buộc phức tạp : + ưu điểm : độc lập, sử dụng cho nhiều nơi khác nhau + cách xây dựng : mỗi hàm kiểm tra một ràng buộc3.3, Các hàm nên xây dựng : RSum(rst As RecordSet, field As String, dk As String) RMin(rst As RecordSet, field As String, dk As String) RMax(rst As RecordSet, field As String, dk As String) RAvg(rst As RecordSet, field As String, dk As String) RCount(rst As RecordSet, field As String, dk As String) .........VD : xây dựng hàm tính tổngFunction DCount(field As String, table As String, Optional dk AsString) Dim rs As New ADODB.Recordset rs.Open select count( & field & ) from & table & _IIf(dk ‘’ “,” where & dk, dk), cnn DCount = rs(0).ValueEnd FunctionPrivate Sub cmdKiemTra_Click() If DCount(“MaSV”,”SinhVien”) = 0 Then MsgBox (“Chưa có sinh viên nào”) End IfEnd Sub
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình trực quan - Bài 6: Tính toán thống kê1, Mục đích : - Dùng khi muốn thống kê trên RecordSet : Tổng, Max, Min… - Thống kê trên một số bản ghi thoả mãn điều kiện2, Duyệt RecordSet : - Hà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 .RecordCount >0 then .MoveFirst Do While Not .EOF .MoveNext Loop + Sử dụng vòng lặp For … Next For i = 1 to .RecordCount .AbsolutePosition = i NextVí dụ : hàm RSUM để tính tổng Function RSum(rst As ADODB.RecordSet, field AsString, 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 = tongEnd Function3, 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 FieldsVí 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.Open1, Mô tả các ràng buộc toàn vẹn thường gặp : - ràng buộc khoá chính : không thể có hai mã giống nhau - ràng buộc khoá ngoại : nhân viên không thể thuộc về mộtphòng ban chưa có trong danh mục phòng ban. - ràng buộc logic phức tạp : khi thực hiện cập nhật trênnhiều bảng dữ liệu. 2, Ví dụ cách xử lý các ràng buộc đơn giản : VD1 : xử lý rà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 IfVD2 : Xử lý ràng buộc khoá ngoạikiểm tra xem phòng nhập đã có chưaIf DCOUNT(Select * From PHONG WHERE maph =’” &rstNV(“maph”).Value &”’”)= 0 then MsgBox “Phòng này chưa có trong CSDL”...End IfVD3 : Xử lý ràng buộc miền giá trị :Kiểm tra nhập ngày đã đúng chưaIf IsDate(rstNV(“ngaysinh”).Value))= False then MsgBox “Ngày sinh không hợp lệ” ...End IfVD4 : Xử lý ràng buộc liên thuộc tính+ Nhân viên nhận vào phải trên 18 tuổiIf (Year(Date()) - Year(rstNV(“Ngaysinh”).Value) ) < 18 Then MsgBox “Nhân sự không đủ tuổi làm việc” ...End If+ Ngày chuyển công tác bao giờ cũng lớn hơn ngày nhận côngtác.3, Xử lý các ràng buộc phức tạp : 3.1, Các Field cần chú ý trong CSDL : + Các Field mang ý nghĩa : số lượng, thời điểm … + Các Field tính toán : số lượng, thành tiền,… 3.2, Xây dựng hàm kiểm tra cho các ràng buộc phức tạp : + ưu điểm : độc lập, sử dụng cho nhiều nơi khác nhau + cách xây dựng : mỗi hàm kiểm tra một ràng buộc3.3, Các hàm nên xây dựng : RSum(rst As RecordSet, field As String, dk As String) RMin(rst As RecordSet, field As String, dk As String) RMax(rst As RecordSet, field As String, dk As String) RAvg(rst As RecordSet, field As String, dk As String) RCount(rst As RecordSet, field As String, dk As String) .........VD : xây dựng hàm tính tổngFunction DCount(field As String, table As String, Optional dk AsString) Dim rs As New ADODB.Recordset rs.Open select count( & field & ) from & table & _IIf(dk ‘’ “,” where & dk, dk), cnn DCount = rs(0).ValueEnd FunctionPrivate Sub cmdKiemTra_Click() If DCount(“MaSV”,”SinhVien”) = 0 Then MsgBox (“Chưa có sinh viên nào”) End IfEnd Sub
Tìm kiếm theo từ khóa liên quan:
Lập trình trực quan Bài giảng Lập trình trực quan Tính toán thống kê Đối tượng Field của RecordSet Toàn vẹn dữ liệu Xử lý các ràng buộc phức tạpGợi ý tài liệu liên quan:
-
Bài giảng Danh sách đề tài bài tập lớn môn Lập trình trực quan
20 trang 188 0 0 -
Tìm hiểu về nguyên lý của các hệ cơ sở dữ liệu: Phần 2
139 trang 104 0 0 -
220 trang 65 0 0
-
Giáo trình lập trình trực quan
252 trang 58 0 0 -
Giáo trình Hệ cơ sở dữ liệu: Phần 2
147 trang 44 0 0 -
Bài giảng Lập trình trực quan (Ngôn ngữ Visual Basic): Bài 4 - DataGrid
7 trang 32 0 0 -
102 trang 31 0 0
-
Bài giảng An toàn và toàn vẹn dữ liệu - Vũ Tuyết Trinh
17 trang 24 0 0 -
Bài giảng Cơ sở dữ liệu: Chương 7 - Hoàng Thị Hà
21 trang 23 0 0 -
Giáo trình Lập trình trực quan - Võ Trung Hùng
249 trang 23 0 0