- Bước 5: Viết code
h. Tìm DataRow có khóa chính chứa trị truyền vào
5.8.2 Hướng dẫn sử dụng report wizart.
176 Form cho phép người sử dụng chọn tên một nhân viên bán hàng trong cboten và hiển thị thông tin chi tiết về những hóa đơn bán hàng của nhân viên đó. Khi nhấn nút Report ta sẽ xuất dữ liệu trên form sang một report được thể hiện như hình sau:
Phần hiển thị và lọc dữ liệu được thực hiện thông qua đối tượng dataAdapter và đối tượng DataSet như đã hướng dẫn trong các ví dụ trước. Bạn có thể tham khảo phần code dưới đây với da là tên của DataAdapter và dst là tên của DataSet. Form có tên ngầm định là form1
'khai báo biến tầm vực đơn thể - biến chung của class
Dim lenh1 As String = "select banhang.sohd, banhang.ngayban," & _
"banhang.nguoiban, banhang.masp,sanpham.tensp,sanpham.dongia," & _
"banhang.soluong, banhang.thanhtien from banhang,sanpham " & _
" where banhang.masp=sanpham.masp" Dim lenh2 As String
Dim da As New SqlClient.SqlDataAdapter(lenh1, Chuoi_ket_noi)
177 ' Thủ tục Load của form
Private Sub Form1_Load...
dst.Clear()
da.Fill(dst, "bangthongke") dg.DataSource = dst
dg.DataMember = "bangthongke"
Tao_ket_noi()
If Ket_noi.State = ConnectionState.Closed Then Ket_noi.Open() Dim comm1 As New SqlClient.SqlCommand _
("select distinct nguoiban from banhang", Ket_noi) Dim reader1 As SqlClient.SqlDataReader = _
comm1.ExecuteReader(CommandBehavior.CloseConnection) While reader1.Read cboten.Items.Add(reader1.Item(0)) End While reader1.Close() End Sub 'Thủ tục chọn một mục trong cbo_ten
Private Sub cboten_SelectedIndexChanged ...
lenh2 = " and banhang.nguoiban='" & cboten.Text & "'"
da.SelectCommand.CommandText = lenh1 & lenh2 dst.Clear()
da.Fill(dst, "bangthongke")
End Sub
Vấn đề chỉ còn lại cách xây dựng báo biểu thống kê chi tiết các lần bán hàng theo tên nhân viên và viết code cho nút Report. Hãy thực hiện theo các bước sau:
- Bước 1: Trong SQL Server tạo thủ tục nhận tên người bán làm tham số và trả về thông tin bán hàng của nhân viên đó. Thủ tục có tên thongkeBHtheoNV và được tạo như sau:
Create proc ThongkeBHtheoNV(@tennb nvarchar(50))
as begin
select banhang.sohd, banhang.ngayban,banhang.nguoiban, banhang.masp,sanpham.tensp,sanpham.dongia,
banhang.soluong,banhang.thanhtien from sanpham,banhang
178 banhang.nguoiban=@tennb
end
Biên dịch thủ tục trên (nhấn F5)
- Bước 2:
+ Tạo Crystal Report (nhấn phải chuột vào tên project trong cửa sổ Solution Explorer, chọn Add, chọn Crystal Report).
+ Đặt tên report là rptTK_TheoNV. Cửa sổ Crystal Reports Gallery xuất hiện như hình dưới đây. Chọn kiểu Standard và nhấn OK.