Bài giảng Visual Basic 2
Tổng số tiết: 90 tiết
Lý thuyết: 30 tiết
Bài tập: 15 tiết
Thực hành: 45 tiết
Sinh viên cần phải được học trước các môn
Visual Basic 1
Hệ quản trị CSDL (Access hoặc SQL Server)
Câu lệnh SQL để truy vấn dữ liệu
Thi kết thúc môn học bằng hình thức thi viết hoặc thi thực hành.
unt (trị Long Integer): số lượng mẩu tinBOF: Trước mẩu tin đầuEOF: Sau mẩu tin cuốiEditMode: chỉ trình trạng của mẩu tin hiện hành, có các giá trị sauadEditNone 0 Bình thườngadEditInProgress 1 Đang sửa đổi chưa cập nhậtadEditAdd 2 Đang thêm mới chưa cập nhậtadEditDelete 3 Đánh dấu hủy chưa cập nhậtRECORDSET (TT)Lập trình Visual Basic 2*Di chuyển mẩu tin hiện hành.MoveFirst.MoveLast.MoveNext.MovePrevious.Move numRec [, startPos]numRec: Là số mẩu tin sẽ nhảy qua tính từ vị trí startPosstartPos: Lấy vị trí hiện hànhRECORDSET (TT)Lập trình Visual Basic 2*Duyệt qua các mẩu tin của một bộ mẩu tin (Recordset).MoveFirstDo While Not .EOF các xử lý trên mẩu tin hiện hành .MoveNext LoopHoặcFor i=1 to .RecordCount các xử lý trên mẩu tin hiện hành .MoveNextNextRECORDSET (TT)Lập trình Visual Basic 2*Thêm mới một mẩu tin (AddNew): “Insert into TenTable values ('" & gtri1 & "‘, '" & gtri2 & "‘.. '" & gtri_n & "')“ ví dụ: Dim as .Recordset Set = New ADODB.Recordset rs.Source = “Insert into TenTable values ('" & gtri1 & "‘,& gtri_n & "‘)“ rs.ActiveConnection = cn rs.OpenRECORDSET (TT)Lập trình Visual Basic 2*Sửa mẩu tin (Update):“Update TenTable set TenField1='" & gtr1 & "', TenField2='" & gtr2 & "‘, TenField_n='" & gtri_n& "' where TenField chứa điều kiện sửa = '" & giá trị điều kiện cần sửa & “’ “Ví dụ: Dim as .Recordset Set = New ADODB.Recordset rs.Source = “Update TenTable set TenField1='" & gtr1 & "', TenField2='" & gtr2 & "‘, TenField_n='" & gtri_n& "' where TenField chứa điều kiện sửa = '" & giá trị điều kiện cần sửa & "‘ “ rs.ActiveConnection = cn rs.OpenRECORDSET (TT)Lập trình Visual Basic 2*Xóa mẩu tin (Delete):“Delete * from TênTable where TenField chứa điều kiện xóa = '" & giá trị điều kiện cần xóa & “’ “Ví dụ: Dim as .Recordset Set = New ADODB.Recordset rs.Source = “Delete * from TênTable where TenField chứa điều kiện xóa = '" & giá trị điều kiện cần xóa & “’ “ rs.ActiveConnection = cn rs.OpenChương 3: CÁC ĐIỀU KHIỂN DỮ LIỆULập trình Visual Basic 2*DATACOMBO VÀ DATALIST:Mục đích sử dụng:comboDatalistCÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Khởi tạo DataCombo và DataList:CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Các thuộc tính của DataCombo và DataList:Với Bookmark của RecordSet có chức năng lưu trữ thông tin vị trí của mẩu tin hiện hành.Tên thuộc tínhÝ nghĩaRowSourceNguồn dữ liệu để các điều khiển (DataCombo và DataList) hiển thị, từ RecordSet.ListFieldTên trường trên RecordSet mà ta muốn hiển thị ở phần liệt kê của điều khiểnSelectedItemTrả về Bookmark của RecordSet (dùng để hiển thị thêm thông tin)CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Code minh họa tạo DataCombo: Dim as .Recordset Set = New .Recordset .Open [Source],[Connection],[Type],[Lock],[Option] Set .RowSource = . .ListField = “Tên trường“Code hiển thị thông tin trường khác tương ứng trên một bộ mẩu tin lên TextBox khi ta chọn một trường từ DataCombo: Viết code ở sự kiện Click vào vùng hiển thị của điền khiển nếu .SelectedItem > 0 thì .Bookmark = . SelectedItem .Text = .(“Tên_trường)Chương 3: CÁC ĐIỀU KHIỂN DỮ LIỆULập trình Visual Basic 2*COMBOBOX:Mục đích sử dụng:CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Viết Code cho Combobox: Set rs = New ADODB.Recordset rs.Source = "select * from Tên_Table “ rs.ActiveConnection = cn rs.Open Do While Not rs.EOF Tên_Combobox.AddItem (rs!Tên_Field) rs.MoveNext Loop CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*LISTVIEW:Mục đích sử dụng:CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Cách tạo ListView:Bước 1:CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Bước 2:CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Bước 3: Thiết lập các thuộc tính cho ListViewCÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Bước 4: Tạo các cột và định dạngCÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Viết Code cho ListView: Set rs = New ADODB.Recordset rs.Source = "select * from Tên_Table “ rs.ActiveConnection = cn rs.Open Dim Tên biến LV As ListItem Tên_Điều_Khiển_ListView.ListItems.Clear Do While Not rs.EOF Set Tên_biến_LV = Tên_Điều_Khiển_ListViewi.ListItems. Add(, , rs!Tên_Field) Tên_biến_LV.SubItems(1) =rs!Tên_Field rs.MoveNext Loop CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Lập trình Visual Basic 2*Sự kiện ItemClick của ListView: Tên_điều_Khiển (TextBox)= Item.TextKIỀM TRA LỖI NHẬP LiỆU: On Error GoTo THOAT Exit Sub THOAT: MsgBox “Thông báo” CÁC KỸ THUẬT LẬP TRÌNH CSDLLập trình Visual Basic 2*Đối tượng ProgressBarSử dụng trong bộ định thời gian (Timer )i = Int(i) + 1 Tên_ProgressBar = Tên_ProgressBar + 1 If i = 100 Then Tên_Form(cần hiển thị).Show Unload Form2 End If CÁC KỸ THUẬT LẬP TRÌNH CSDL (TT)Lập trình Visual Basic 2*Đối tượng TimerKỹ Thuật Form Login Lập trình Visual Basic 2*Chương 4: XÂY DỰNG CÁC ỨNG DỤNGCÁCH TỔ CHỨC MỘT ỨNG DỤNGXỬ LÝ CÁC LỖITHIẾT KẾ GIAO DIỆNCÁCH TỔ CHỨC MỘT ỨNG DỤNGLập trình Visual Basic 2*Để thuận tiện việc theo dõi, tìm kiếm:DATAFORMSREPORTSGRAPHICSMODULESỨNG DỤNGCÁCH TỔ CHỨC MỘT ỨNG DỤNG (TT)Lập trình Visual Basic 2*DATA chứa các tập tin CSDL (đối với nguồn Access)FORMS chứa các form trong ứng dụngREPORTS chứa các báo biểu của ứng dụngGRAPHICS chứa các tập tin đồ họaMODULES chứa các tập tin moduleTập tin ứng dụng (*.vbp) được trong thư mục ỨNG DỤNG XỬ LÝ CÁC LỖI (BẪY LỖI)Lập trình Visual Basic 2*Lỗi khóa chính nhận giá trị Null:Trước khi thêm một mẩu tin mới ta phải kiểm tra trường khóa chính không nhận giá trị giá trịn rỗng.Code:If giá_trị_ = “” then thông_báo “giá trị khóa chính phải khác rỗng”End If XỬ LÝ CÁC LỖI (TT)Lập trình Visual Basic 2*Lỗi trùng khóa chính:Khi ta thêm một mẫu tin mới thì giá trị khoá của mẩu tin mới đã tồn tại trong CSDLKỹ thuật: Set rs = New ADODB.Recordset rs.Source= "select * from Table where khoa='" & giá_trị_khóa_mới & "'“ rs.ActiveConnection = cn rs.Open If Not rs.EOF() Then “Trùng khóa chính” End IfXỬ LÝ CÁC LỖI (TT)Lập trình Visual Basic 2*Lỗi không tồn tại khóa ngoại:Khi ta thêm một mẫu tin mới thì giá trị khoá ngoại của mẩu tin mới không tồn tại ở bảng 1 trong CSDLKỹ thuật: Set rs = New ADODB.Recordset rs.Source= "select * from Table where khoa='" & giá_trị_khóa_mới & "'“ rs.ActiveConnection = cn rs.Open If rs.EOF() Then “không tồn tại khóa ngoại ở bảng 1” End IfXỬ LÝ CÁC LỖI (TT)Lập trình Visual Basic 2*Các lỗi khác:Khi ta nhập liệu không đúngKỹ thuật: On Error GoTo THOAT Exit Sub THOAT: MsgBox “Thông báo”THIẾT KẾ GIAO DIỆNLập trình Visual Basic 2*Khi thiết kế giao diện màn hình cho các ứng dụng chúng ta cần chú ý đến 3 yếu tố sau:Giao diện thân thiệnGiao diện hài hòaThao tác thuận tiệnTHIẾT KẾ GIAO DIỆNLập trình Visual Basic 2*Màn hình thông báoIconcommandThôngbáoTHIẾT KẾ GIAO DIỆNLập trình Visual Basic 2*Thiết kế form đơnTHIẾT KẾ GIAO DIỆNLập trình Visual Basic 2*Thiết kế form đơn képLập trình Visual Basic 2*Chương 5: BÁO BIỂU (REPORT)DATAREPORT DESIGNERMỘT SỐ KỸ THUẬT KHÁCDATAREPORT DESIGNERLập trình Visual Basic 2*Các thành phần chính của báo biểuReport header: Phần tiêu đề đầu của báo biểuReport footer: Phần tiêu đề cuối của báo biểuPage header: Tiêu đề đầu trangPage footer: Tiêu đề cuối trangGroup header: Tiêu đề đầu của nhómGroup footer: Tiêu đề cuối của nhómDetails: Chứa nội dung chi tiết của báo biểuDATAREPORT DESIGNER (TT)Lập trình Visual Basic 2*Cấu trúc của báo biểuDATAREPORT DESIGNER (TT)Lập trình Visual Basic 2*Các đối tượng của báo biểuĐỐI TƯỢNGÝ NGHĨARptLabelNhãn RptTextboxHộp văn bản nối kết với trường dữ liệuRptImageHiện thị hình ảnhRptLineVẽ đường thẳngRptShapeVẽ các đa giácRptFunctionTính toán DATAREPORT DESIGNER (TT)Lập trình Visual Basic 2*Các thuộc tính chính của báo biểuName: Tên báo biểuCaption: Tiêu đề của cửa sổ báo biểuDataSource: Nguồn dữ liệu (tên của DataEnvironment)Datamember: Tên của command tạo cho báo biểuDATAREPORT DESIGNER (TT)Lập trình Visual Basic 2*Tạo một command trên DataEnvironment chứa các trườngCác thuộc tính của CommandConnectionName: Tên đối tượng kết nối CSDLCommandType: Gồm 3 tham số sau.abCmdText: Chứa câu truy vấn SQLabCmdTable: Chứa tableabCmdStoredProc: Chứa các thủ tục và hàm DATAREPORT DESIGNER (TT)Lập trình Visual Basic 2*Tạo dữ liệu cho báo biểuĐể tạo số liệu cho báo biều thì phải DataEnvironmentĐối tượng Connection: ConnectionSource: tên CSDL cần kết nốiDATAREPORT DESIGNER (TT)Lập trình Visual Basic 2*Tạo nhóm trên báo biểuDATAREPORT DESIGNER (TT)Lập trình Visual Basic 2*Đưa trường tính toán vào cùng GroupHeader và FooterDùng đối tượng RptFunction để đưa trường tính toánCác thuộc tính chính của đối tượng RptFunction Name: Tên đối tượngDatamember: Tên của Command chứa trường cần tính toánDatafield: Tên trường muốn tính toánFunctionType: Loại hàm tính toánDATAREPORT DESIGNER (TT)Lập trình Visual Basic 2*Các FunctionType của đối tượng RptFunction TÊNÝ NGHĨArptFuncSumTổng các Datafield kiểu sốrptFuncAveGiá trị trung bình các Datafield kiểu sốrptFuncMinGiá trị nhỏ nhất của Datafield kiểu sốrptFuncMaxGiá trị lớn nhất của Datafield kiểu sốrptFunRcntĐếm số mẩu tinrptFunVcntĐếm số mẩu tin trong vùng không chứa trịMỘT SỐ KỸ THUẬT KHÁCLập trình Visual Basic 2*Đưa số trang và ngày tháng vào báo biểuNhất chuột phải vào báo biểu\ chọn Insert ControlMỘT SỐ KỸ THUẬT KHÁC (TT)Lập trình Visual Basic 2*Ý nghĩa của các điều khiển trênTên_Label.caption=“% Trị”TÊNÝ NGHĨATRỊCurrent Page NumberSố trang hiện hành%pTotal Number of PageTổng số trang %PCurrent Data (Short Format)Ngày hiện hành (dạng ngắn)%dCurrent Data (Long Format)Ngày hiện hành (dạng đầy đủ)%DCurrent Time (Short Format)Giờ hiện hành (dạng ngắn)%tCurrent Time (Long Format)Giờ hiện hành (dạng đầy đủ)%TReport TitleTiêu đề báo biểu%iMỘT SỐ KỸ THUẬT KHÁC (TT)Lập trình Visual Basic 2*Thi hành một báo biểu:Tên_báo_biểu.Show()MỘT SỐ KỸ THUẬT KHÁC (TT)Lập trình Visual Basic 2*Tạo báo biểu có tham số:str = SQL + với tham số cần in báo biểuTên_DataEnvironment.Commands(index).CommandText = strTên_Report.ShowStr thuộc kiểu stringCÁC ĐIỀU KHIỂN DỮ LIỆU (TT)Bài tập ứng dụng:Quản lý Thư việnQuản lý sinh viênQuản lý hàng hóaQuản lý nhân viênQuản lý học sinhDanh sách liên kết đối xứng*Lương Văn VânThank You !
File đính kèm:
- bai giang vb2 (105T).ppt