Tải bản đầy đủ (.doc) (13 trang)

Bài 8. Sử dụng Data Report để in biểu mẫu báo cáo pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (353.13 KB, 13 trang )

Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Bài 8. Sử dụng Data Report để in biểu mẫu báo
cáo
Mục đích
Trong bài thực hành này, bạn sẽ làm quen với khái niệm Report và cách sử dụng
Report trong VB để in biểu mẫu báo cáo
Yêu cầu
Đã nắm được các khái niệm cơ bản về xây dựng ứng dụng bằng VB
Sử dụng được hệ quản trị CSDL Access
Vấn đề liên quan
Làm việc với Data Environment và Data Report
Thời gian để hoàn tất bài thực hành: 90 phút
1
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Bài tập 8.1. Kết nối DataEnvironment trong Visual Basic
Mục đích: Sử dụng Data Environment để tạo command truy vấn, cung cấp
thông tin cho Report
1. Mở Microsoft Access
2. Chọn Project ->Add Data Environment (hoặc Project ->More ActiveX Designers-> Data
Environment).
3. Click phải chuột lên cnHocsinh, chọn Properties
2
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
4. Chọn Provider là Microsoft Jet 4.0 OLE DB Provider, chọn DatabaseName là
HOCSINH.MDB. Để bảo đảm, bạn có thể bấm nút Test Connection để xem kết nối tới CSDL
đã thành công chưa.
5. Bây giờ, ta sẽ tạo một command, có tác dụng rút trích ra những dữ liệu cần báo cáo
6. Click phải chuột trên cnHocsinh, chọn AddCommand, đổi tên command1 này thành
cmdLayHocSinhNam
7. Click phải chuột trên cmdLayHocSinhNam, chọn Properties, nhập vào câu lệnh SQL có tác
dụng trích ra những học sinh nào có giới tính Nam. Sau đó, bấm OK.


3
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
4
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Bài tập 8.2. Thiết kế Report trong VB
Mục đích: Thiết kế Report, sử dụng command đã tạo ở bài tập trước
1. Chọn Project ->Add DataReport
2. Thiết lập thuộc tính DataSource và DataMember cho DataReport này như hình vẽ
3. Kéo thả các rptTextBox vào Report, thiết lập thuộc tính DataField để lấy dữ liệu mong muốn
5
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
6
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Bài tập 8.3. Hiển thị Report ra màn hình
Mục đích: Gọi thực hiện Report
1. Viết hàm xử lý sự kiện click cho nút Báo cáo
Private Sub cmdBaocao_Click()
Dim rptKetqua As New DataReport1
rptKetqua.Show
End Sub
2. Chạy thử chương trình
7
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
3.
Bài tập 8.4. Thiết kế giao diện
Mục đích: Thiết kế form với control nâng cao
1. Thêm 1 form vào project và đặt tên là frmTimkiem với giao diện như sau:
8
txHoTen
cmdTimkiemTrove

cmdTiepnhan
cmdBaocao
gridKetqua
(chọn Project-
>Components->Microsoft
Hierachical FlexGrid
Control 6.0 (OLEDB) để
thêm control này vào
ToolBox, rồi kéo thả
control này từ ToolBox
vào form
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Bài tập 8.5. Thực thi câu lệnh để hiển thị form Tìm kiếm
Mục đích: Nhắc lại các lệnh gọi hiển thị form trong ứng dụng
1. Viết hàm sau đây với mục đích hiển thị form Tìm kiếm mới tạo ra thêm
Private Sub HienthiTimkiem()
Dim dlgTimkiem As New frmTimkiem
dlgTimkiem.Show
End Sub
2. Viết hàm xử lý sự kiện Click cho nút Tìm kiếm
3. Chạy thử chương trình xem form Tìm kiếm đã được hiển thị khi người dùng click vào button
Tìm kiếm hay chưa
9
'Hien thi Dialog Tim kiem khi nguoi dung click vao button Tim kiem
Private Sub cmdTimkiem_Click()
HienthiTimkiem
End Sub
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Bài tập 8.6. Xử lý form Tìmkiếm
Mục đích: Làm quen với Microsoft Hierachical FlexGrid Control

Ta sẽ cho phép người dùng nhập vào thông tin, và sau đó tìm kíếm học sinh thỏa yêu cầu bằng các
bước sau
Ghi chú: Tất cả các thao tác sau được làm tại frmTimkiem!
1. Kết nối CSDL
a. Chọn công nghệ kết nối sử dụng là ADO (bước cơ bản thứ 1 trong kết nối CSDL)
b. Khai báo biến connection là biến toàn cục
Dim Cn As ADODB.Connection
c. Mở kết nối tới CSDL trong hàm Form_Load (bước cơ bản thứ 2 trong kết nối CSDL)
Private Sub Form_Load()
‘Khoi tao moi mot doi tuong Connection
Set Cn = new ADODB.Connection
Cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source
= Hocsinh.mdb”
Cn.Open
End Sub
2. Tìm kiếm học sinh thỏa yêu cầu
a. Sử dụng lại hàm đã được viết sẵn HienthiKQLenGrid
'Ham nay dung de hien thi du lieu tra ra tu 1 cau lenh Select len FlexGrid
'Tham so:
' strSQL: cau truy van SQL
' Cn: connection ket noi toi CSDL (da duoc mo san)
Private Sub HienthiKQLenGrid(ByVal strSQL As String, ByVal Cn As
ADODB.Connection)

Dim Rs As New ADODB.Recordset
Rs.Open strSQL, Cn, adOpenStatic, adLockOptimistic

If (Not Rs.BOF) Then
'Di chuyen con tro ve dau RecordSet
Rs.MoveFirst


'So dong va so cot cua grid
gridKetqua.Rows = Rs.RecordCount + 1
gridKetqua.Cols = Rs.Fields.Count + 1
'Hai bien tam
Dim iMaxRow As Integer, iMaxCol As Integer
iMaxRow = Rs.RecordCount
iMaxCol = Rs.Fields.Count - 1

'Khai bao 2 bien dem luu giu gia tri dong va cot hien thoi
10
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Dim iCurRow As Integer, iCurCol As Integer

'Add thanh tieu de
For iCurCol = 1 To iMaxCol
gridKetqua.TextMatrix(0, iCurCol) = Rs(iCurCol - 1).Name
Next

'Add du lieu tu RecordSet vao Grid
For iCurRow = 1 To iMaxRow
For iCurCol = 1 To iMaxCol
gridKetqua.TextMatrix(iCurRow, iCurCol) = Rs(iCurCol - 1)
Next
Rs.MoveNext
Next
Else
MsgBox "Khong tim thay du lieu nao thoa dieu kien"
gridKetqua.Clear


End If

Rs.Close

End Sub
b. Viết hàm xử lý sự kiện Click cho nút Tìm kiếm
Private Sub cmdTimkiem_Click()

Dim strSQL As String
'Thuc thi cau lenh SQL de lay tat ca CAC HOC SINH THOA DK
strSQL = "Select * from HOCSINH where HOTEN LIKE '%" & txtHotenTimkiem.Text &
"%'"

'Hien thi ket qua
HienthiKQLenGrid strSQL, cn

End Sub
3. Chạy thử chương trình
11
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Bài tập 8.7. Xử lý trên form Nhập liệu đơn giản
Mục đích: Làm quen với việc thao tác với các form Nhập liệu
Ta sẽ cho phép người dùng nhập vào thông tin, và sau đó thêm mới học sinh này vào CSDL. (Mặc định
là học sinh này học tại trường Đại học An Giang với mã trường là T1. Các bạn có thể nâng cấp để
thêm một comboBox cho phép người dùng chọn trường)
Ghi chú: Tất cả các thao tác sau được làm tại frmTiepnhan!
1. Viết các hàm xử lý theo đoạn code mẫu sau:
‘Khai bao 1 connection toan cuc
Dim cn As ADODB.Connection
‘Ham xu ly su kien Load

Private Sub Form_Load()
'Khoi tao moi mot doi tuong Connection
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =
Hocsinh.mdb"
cn.Open
12
Bài 8.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
End Sub
‘Ham xu ly su kien UnLoad
Private Sub Form_Unload(Cancel As Integer)
cn.Close
End Sub
‘Ham xu ly su kien Click cua nut Tiepnhan
Private Sub cmdTiepnhan_Click()
If (txtMaHS.Text = "" Or (txtHoten.Text = "") Or _
(txtNgaysinh.Text = "") Or (txtDiachi.Text = "")) Then
MsgBox "Chua nhap du thong tin"
Exit Sub
End If
Dim strSQL As String
''Thuc thi cau lenh SQL de cap nhat moi du lieu dua vao CSDL
strSQL = "Insert into HOCSINH Values ('" & txtMaHS.Text & "','" &
txtHoten.Text & "','" & txtNgaysinh.Text & "','" & txtDiachi.Text & "'," &
optionNam.Value & ",'T1')"
cn.Execute strSQL
MsgBox "Da them du lieu"
End Sub
2. Save project, chạy thử chương trình
13

×