Lập trình Visual Basic
Visual Basic (Visual Basic) là sản phẩm của Microsoft, một thành phần phần của
bộVisual Studio.
Chức năng: Là một ngôn ngữlập trình dùng đểxây dựng các ứng dụng chạy trên
môi trường Windows.
Đặc điểm: Trực quan, cung cấp các công cụthuận lợi cho việc tạo các giao diện.
Cài đặt: từ đĩa CD VB6.0, chạy file setup, thực hiện các bước theo hướng dẫn.
Khởi động: Start/Programs/Microsoft VisualBasic 6.0/Microsoft V Basic 6.0
Phiếu New: standard EXE tạo mới một ứng dụng (Project). Phiếu Existing: mở
ứng dụng đã có.
cordSource trong cửa sổ property, xuất hiện Property Page (H.4) + Chọn 2-adCmdTable dữ liệu là Table hoặc Query trong Access (chọn 1- adCmdText dữ liệu lấy bằng một câu lệnh Sql). + Chọn tên Table cần kết nối. III. Truy xuất dữ liệu Xong mục II, chúng ta đã qui định việc kết nối dữ liệu đến một Table hay một Query cụ thể của một tập tin .mdb, công việc tiếp theo là truy xuất dữ liệu đến từng trường trên Table (query) này. Đơn giản nhất là dùng các đối tượng điều khiển đã biết như Textbox,...liên kết với các trường. Tạo Textbox và qui định hai thuộc tính sau của Textbox: + Thuộc tính DataSource: chọn ADODC ứng với tập .mdb cung cấp dữ liệu + Thuộc tính DataField: chọn trường truy xuất dữ liệu. Ví dụ. Xem bài tập 10.1 IV. Một số phương thức và sự kiện của ADODC + Refresh: cập nhật ngay những thuộc tính của ADODC. Các phương thức sau đây thuộc thành phần RecordSet của ADODC: + Tên_ADODC.RecordSet.MoveFirst: chuyển đến mẫu tin đầu tiên. + Tên_ADODC.RecordSet.MoveLast: chuyển đến mẫu tin cuối cùng. + Tên_ADODC.RecordSet.MoveNext: chuyển đến mẫu tin kế tiếp. + Tên_ADODC.RecordSet.MovePrevious: chuyển đến mẫu tin phía trước. + Tên_ADODC.RecordSet.Bof: kiểm tra mẫu tin hiện hành có là mẫu tin đầu tiên hay không, nếu có thì trả về giá trị true và ngược lại. + Tên_ADODC.RecordSet.Eof: kiểm tra mẫu tin hiện hành có là mẫu tin cuối cùng hay không, nếu có thì trả về giá trị true và ngược lại. + Tên_ADODC.RecordSet.RecordCount: cho biết tổng số mẫu tin. Trung tâm Tin học 14-Bà Triệu Lập trình Visual Basic 10A, 14 Bà Triệu, Quy Nhơn. 056-821483 Trang 31 + Tên_ADODC.RecordSet.AbsolutePosition: chi biết vị trí hiện tại của mẫu tin hiện hành. + Tên_ADODC.RecordSet.AddNew: thêm mẫu tin trống vào bảng + Tên_ADODC.RecordSet.Update: Cập nhật dữ liệu vào bảng. + Tên_ADODC.RecordSet.Delete: Xoá mẫu tin hiện hành. Các sự kiện sau đây thường dùng khi lập trình: + Tên_ADODC.RecordSet.MoveComplete: xảy ra khi một mẫu tin nào đó trở thành mẫu tin hiện hành (sau khi thực hiện các phương thức di chuyển mẫu tin hiện hành) + Tên_ADODC.RecordSet.WillChangeRecord: xảy ra trước khi di chuyển mẫu tin hiện hành hoặc Update dữ liệu (thường dùng để kiểm tra tính hợp lệ của dữ liệu trước khi cập nhật hoặc thực hiện một thao tác khác) + Tên_ADODC.RecordSet.RecordChangeComplete: xảy ra sau khi một mẫu tin nào đó hoàn tất việc thay đổi dữ liệu trong CSDL (dùng để thay đổi giao diện liên quan đến mẫu tin mới, cập nhật thông tin vừa thay đổi trong CSDL lên form) Ví dụ. Xem bài tập 10.2 BÀI TẬP SỐ 10 Bài tập 10.1 Mở bảng Nhân viên trong bài tập môn Access, thêm vào vùng MaPhong. Tạo thêm bảng DMPhong như sau: Maphong Tenphong HC Hành chính KD Kinh doanh TV Tài vụ Tạo ứng dụng liên kết để xem thông tin trong bảng Danh mục phòng theo giao diện như sau: Hướng dẫn: Thực hiện các bước như trong bài học. Sau đó tạo Form và các đối tượng chính: txtmaphong, txttenphong liên kết với các trường mã phòng, tên phòng của bảng. Bài tập 10.2 Tạo ứng dụng để thực hiện các thao tác trên bảng nhân viên như đã gợi ý trên form sau đây: Trung tâm Tin học 14-Bà Triệu Lập trình Visual Basic 10A, 14 Bà Triệu, Quy Nhơn. 056-821483 Trang 32 Các đối tượng chính: + adodc1 liên kết với bảng nhân viên, thuộc tính Visible bằng false. + txtho, txtten, txtngsinh, chkgioitinh, cmbmaphong lấy dữ liệu tại các trường tương ứng với tên của các đối tượng. + Các nút lệnh CmdDau, CmdCuoi, CmdTruoc, CmdSau, CmdThem, CmdLuu, CmdXoa, CmdThoat; các nút này ứng với các Command1, command2,... Mã lệnh cụ thể cho các nút: Private Sub Command1_Click() Adodc1.Recordset.MoveFirst End Sub Private Sub Command2_Click() Adodc1.Recordset.MoveLast End Sub Private Sub Command3_Click() If Not Adodc1.Recordset.BOF() Then Adodc1.Recordset.MovePrevious Else Adodc1.Recordset.MoveLast End If End Sub Private Sub Command4_Click() If Not Adodc1.Recordset.EOF() Then Adodc1.Recordset.MoveNext Else Adodc1.Recordset.MoveFirst End If End Sub Private Sub Command5_Click() Adodc1.Recordset.AddNew txtho.SetFocus End Sub Private Sub Command6_Click() Adodc1.Recordset.Update End Sub Private Sub Command7_Click() Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext End Sub Trung tâm Tin học 14-Bà Triệu Lập trình Visual Basic 10A, 14 Bà Triệu, Quy Nhơn. 056-821483 Trang 33 Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) Adodc1.Caption = "Hồ sơ thứ " & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub BÀI 11. MỘT SỐ HỖ TRỢ KHÁC CHO QUẢN TRỊ CSDL I. DATAGRID Ô điều khiển này dùng để thể hiện dữ liệu của các mẫu tin cùng lúc dưới dạng bảng. Các thuộc tính cơ bản: + DataSource: quy định nguồn dữ liệu lấy từ ADODC nào. + AllowAddNew: cho phép (true) hay không (false) được thêm mẫu tin từ DataGrid + AllowDelete: cho phép (true) hay không (false) được xoá mẫu tin. + AllowUpdate: cho phép (true) hay không (false) được sửa đổi dữ liệu cho mẫu tin từ DataGrid. Thao tác: không có sẵn trên ToolBox, ta phải thêm vào bằng dãy thao tác sau + Project/Components/Microsoft DataGrid Control 6.0 + Chọn và vẽ một DataGrid lên form, trước đó trên form phải xác lập một ADODC liên kết với một CSDL + Xác lập thuộc tính DataSource + Thêm tên các trường: chuột phải lên DataGrid chọn Retrieve Fields + Sửa đổi: chuột phải lên DataGrid chọn Edit + Những chi tiết khác có thể thay đổi bằng cách chuột phải lên DataGrid chọn Properties. Ví dụ. Xem bài tập 11.1 II. Lấy dữ liệu thông qua câu lệnh SQL 1. Khái niệm, cú pháp: SQL (Structured Query Language) là ngôn ngữ để định nghĩa và thao tác dữ liệu trong đa số hệ QTCSDL. SQL có chức năng rất rộng, tuy nhiên trong khuôn khổ của giáo trình này chúng ta chỉ quan tâm đến khả năng chọn lọc để rút ra dữ liệu thoả mãn một số điều kiện. Cú pháp. SELECT FROM [WHERE ] Cho phép lấy dữ liệu gồm các của các mẫu tin từ với điều kiện các mẫu tin này thoả mãn Nếu cần lấy hết tất cả các trường thì thay bằng dấu * Ví dụ: SELECT * FROM nhanvien WHERE maphong = “TV” Trung tâm Tin học 14-Bà Triệu Lập trình Visual Basic 10A, 14 Bà Triệu, Quy Nhơn. 056-821483 Trang 34 Chú ý: + Trường có thể thay bằng biểu thức dạng [As ] Ví dụ. SELECT ho, ten, luong*0.05 As BaoHiem FROM nhanvien + Ngoài các phép toán thường dùng như >,=,; các phép toán logic AND, OR, NOT trong điều kiện người ta thường dùng BETWEEN, LIKE có cú pháp giống như trong Access. Để ý rằng dấu % là kí tự đại diện thay thế cho một nhóm kí tự tại vị trí của nó. Ví dụ: Ten LIKE “% n” để chọn những người có kí tự cuối trong tên là “n”. 2. Quy định dữ liệu lấy qua SQL Thay vì lấy trực tiếp dữ liệu từ bảng, linh hoạt hơn trong trường hợp cần lọc dữ liệu chúng ta lấy dữ liệu thông qua câu lệnh SQL. Cách 1: Kích chuột phải lên ADODC chọn Properties, đặt Command Type là 1- adCmdText, câu lệnh SQL được gõ vào như hình vẽ. Cách 2: Quy định hai thông tin trên bằng mã lệnh Ví dụ: Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from nhanvien where maphong=’"&”TV” &”’” Chú ý dấu nháy đơn và nháy kép trong cách viết =’"& "TV" & " ’ " Câu lệnh SQL là một chuỗi, vì vậy khá linh hoạt để có thể biểu diễn điều kiện phức tạp. Xem bài tập 11.3 BÀI TẬP SỐ 11 Bài tập 11.1 Tạo một ứng dụng để liệt kê danh sách các phòng trong tập tin danh mục phòng ở dạng bảng như sau: Hướng dẫn: Lần lượt thực hiện các thao tác như trong phần lý thuyết Trung tâm Tin học 14-Bà Triệu Lập trình Visual Basic 10A, 14 Bà Triệu, Quy Nhơn. 056-821483 Trang 35 Bài tập 11.2 Tạo ứng dụng để liệt kê danh sách nhân viên trong tập tin nhân viên ở dạng bảng theo mẫu sau: Khi chạy chương trình nhập mã phòng, chỉ xuất hiện các nhân viên trong phòng cần xem. Các đối tượng chính: + Adodc1 liên kết với bảng nhân viên như bài tập 11.1 + Tạo một DataGrid1 hiển thị các trường của bảng nhân viên + Tạo txtdk để nhập mã phòng cần xem + Nút lệnh “xem” ứng với Command1 và mã lệnh sau: Private Sub Command1_Click() Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from nhanvien where maphong LIKE '" & "%" & txtdk.Text & "'" Adodc1.Refresh End Sub Private Sub Form_Load() Form1.Show txtdk.SetFocus End Sub Bài tập 11.3 Tạo ứng dụng “tìm kiếm nhân viên” theo điều kiện. Điều kiện gõ vào ô nào thì kết hợp để tìm nhân viên thoả các điều kiện đó. Các đối tượng chính: + Adodc1 liên kết với bảng nhân viên như bài tập 11.1 + Tạo một DataGrid1 hiển thị các trường của bảng nhân viên + Tạo txtmaphong để nhập mã phòng cần xem + Tạo txttuoi1 để nhập độ tuổi + Nút lệnh “Tìm” ứng với Command1 và mã lệnh sau: Trung tâm Tin học 14-Bà Triệu Lập trình Visual Basic 10A, 14 Bà Triệu, Quy Nhơn. 056-821483 Trang 36 Private Sub Command1_Click() Dim dk As String, dk1 As String, dk2 As String, sql As String dk = "" Adodc1.CommandType = adCmdText dk1 = "maphong = '" & txtmaphong.Text & "'" dk2 = " year(date())-year(ngaysinh)>='" & Val(txttuoi1.Text) & "'" dk = dk1 & " and " & dk2 sql = "select * from nhanvien where " & dk Adodc1.RecordSource = sql Adodc1.Refresh End Sub Private Sub Form_Load() Form1.Show txtmaphong.SetFocus End Sub Tương tự như vậy, các bạn có thể bổ sung thêm các điều kiện khác. Công cụ của Microsoft Visual Studio cho phép tạo một bộ cài đặt hoàn chỉnh cho một ứng dụng tuỳ ý. Vào Start/Programs/ Microsoft Visual Studio 6.0/ Microsoft Visual Studio 6.0 Tools/ Package and Deployment Wizard và làm theo hướng dẫn. TÀI LIỆU THAM KHẢO 1. Giáo trình Lập trình Visual Basic, TS. Trần Thiên Thành, ĐH Quy Nhơn. 2. Giáo trình Lập trình ứng dụng Visual Basic, Đặng Thế Khoa, ĐHQG TP HCM 3. Giáo trình điện tử của Bộ GD-ĐT
File đính kèm:
- giaotrinhVB.pdf