intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

GIÁO TRÌNH LẬP TRÌNH QUẢN LÝ VỚI MICROSOFT OFFIC ACCESS - BÀI 9 LÀM VIỆC VỚI ĐỐI TƯỢNG TRONG ACCESS

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:14

209
lượt xem
69
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

KHÁI NIỆM Object còn gọi là đối tượng cơ sở dữ liệu nó bao gồm các thành phần tồn tại bên trong cơ sở dữ liệu như Table, Form, Query, Report, Module, các Control trên Form hoặc Report. Đối tượng trong Access cũng giống như đối tượng có trong thế giới thực như con người, con vật, cái bàn, cái ghế,…

Chủ đề:
Lưu

Nội dung Text: GIÁO TRÌNH LẬP TRÌNH QUẢN LÝ VỚI MICROSOFT OFFIC ACCESS - BÀI 9 LÀM VIỆC VỚI ĐỐI TƯỢNG TRONG ACCESS

  1. Baøi 9. L M VIỆC VỚI Đ I TƯỢNG TRONG ACCESS 9.1. OBJECT V COLLECTION 9.1.1. KH I NIỆM VỀ OBJECT a) KHÁI NIỆM Object còn gọi là đối tượng cơ sở dữ liệu nó bao gồm các thành phần tồn tại bên trong cơ sở dữ liệu như Table, Form, Query, Report, Module, các Control trên Form hoặc Report. Đối tượng trong Access cũng giống như đối tượng có trong thế giới thực như con người, con vật, cái bàn, cái ghế,…Mỗi đối tượng đều có đặc tính riêng và cách cư xử riêng. Thí dụ con người có những đặc tính như tên, tuổi, chiều cao, cân nặng,…Với cùng đối tượng người, ta phân biệt người này với người khác thông qua đặc tính riêng của họ. Các đối tượng trong Access cũng vậy, mỗi đối tượng có một cái tên để phân biệt với các đối tượng khác, có nhiều đặc điểm riêng gọi là các thu c tính, có nhiều hoạt động gọi là các phư ng thức và có những phản ứng với tác động lên nó gọi là các sự kiện hay biến c của đối tượng đó. b) THU C TÍNH, BIẾN C V PHƯƠNG THỨC CỦA Đ I TƯỢNG - Tập thu c tính (Properties): Là tập hợp các đặc điểm để hình thành ra đối tượng. Thông thường, các đối tượng có một vài thuộc tính giống nhau và có một số thuộc tính riêng biệt chỉ có trong một số đối tượng. ví dụ: Form và TextBox đều có thuộc tính Width (chiều rộng), nhưng chỉ ở Form mới có thuộc tính Record Source còn TextBox chỉ có thuộc tính Control Source. Khi người dùng tạo ra một đối tượng trong Access thì tập hợp các thuộc tính của đối tượng do Access đã định nghĩa sẵn. Mỗi thuộc tính của đối tượng mới tạo ra Access cũng đã gán một giá trị mặc định để khởi tạo ra đối tượng đó. Trong quá trình điều khiển đối tượng trong Access người lập trình có thể tham khảo và hoặc thay đổi giá trị tập thuộc tính của đối tượng. Trong VB thuộc tính của đối tượng có biểu tượng là . - Tập phư ng thức (Methods): Là tập hợp các hành động mà đối tượng đó có khả năng thực hiện được. ví dụ đối tượng có khả năng di chuyển (Move), làm tươi lại đối tượng (Requery),… Các đối tượng khác nhau sẽ có các phương thức khác nhau. Khi người dùng tạo ra một đối tượng tập hợp phương thức của đối tượng do Access đã định nghĩa sẵn và được người lập trình gọi phương thức của đối tượng thi hành khi cần thiết. Trong VB phương thức có biểu tượng là . - Tập biến c (Events): Là tập hợp sự kiện xảy ra trên một đối tượng (chủ yếu do người sử dụng tác động lên đối tượng) khi đối tượng đó đang mở ví dụ như: 220
  2. sự di chuyển chuột, Click chuột, thay đổi dữ liệu của đối tượng,…Khi tạo ra một đối tượng mặc nhiên đối tượng đó bất động trước các biến cố xảy ra trên nó. Do đó muốn đối tượng đó phản ứng lại như thế nào khi có một biến cố xảy ra trên đối tượng thì người lập trình phải định nghĩa nó bằng các xây dựng các thủ tục xử lý sự kiện (Event Procedure) trên biến cố đó. Mỗi loại đối tượng người lập trình chỉ quan tâm đến một số các biến cố mà thôi. 9.1.2. KH I NIỆM VỀ COLLECTION Collection là tập hợp bao gồm nhiều nhóm nhiều nhóm đối tượng đang mở. Mỗi nhóm là tập hợp các đối tượng cùng loại. Như tập hợp các biểu mẫu (Forms Collection), tập hợp các báo cáo (Reports Collection), tập hợp các Module (Modules Collection), tập hợp các Control (Controls Collection). Application Forms Controls Reports Controls Modules Ý nghĩa Đối tượng và tập hợp Screen Đối tượng DoCmd Hình 9.1: M hình đối tượng Cơ sở dữ liệu a) FORMS COLLECTION Tập hợp các Form bao gồm các Form hiện hành đang được mở trong tập tin CSDL. Sử dụng tập hợp các Form ta có thể thực hiện các hành động làm thay đổi thuộc tính của Form như tiêu đề, màu sắc,… trên Form đang mở. Thí dụ Thay đổi tiêu đề của các Form đang mở bằng cách chèn thêm tên người sử dụng hiện hành. 221
  3. Hình 9.2: oạn lệnh thay đ i tiêu đề Form b) REPORTS COLLECTION Tương tự như tập hợp các Form. Tập hợp các Report bao gồm các Report đang được mở trong tập tin CSDL. Sử dụng tập hợp các Report ta cũng có thể thay đổi thuộc tính của các Report đang mở. c) MODULES COLLECTION Tập hợp cá Module đang mở bao gồm các Module chung và các Module của Form hoặc Report. d) CONTROLS COLLECTION Tập hợp các Control (điều khiển) có trên Form, SubForm, Report hoặc Section đang mở. 9.2. CÖ PH P CHỈ ĐỊNH ĐẾN M T OBJECT V CONTROL 9.2.1. CÖ PH P CHỈ ĐỊNH ĐẾN M T FORM a) CÖ PH P Forms! b) TH DỤ Muốn chỉ định tới Form F Hoadon ta viết như sau: Forms!F_Hoadon 9.2.2. CÖ PH P CHỈ ĐỊNH ĐẾN SUBFORM a) CÖ PH P Forms!!.Form b) TH DỤ Muốn chỉ định đến SubForm có tên vùng nhúng là CTHoaDon và tên MainForm là F_Hoadon, ta viết như sau: Forms!F_Hoadon!CTHoaDon.Form 222
  4. 9.2.3. CÖ PH P CHỈ ĐỊNH ĐẾN M T REPORT a) CÖ PH P Reports! b) TH DỤ Muốn chỉ định đến Report tên R HoaDon, ta viết như sau: Reports!R_HoaDon 9.2.4. CÖ PH P CHỈ ĐỊNH ĐẾN M T CONTROL a) CÖ PH P  Điều khiển nằm trên Form Forms!!  Điều khiển nằm trên SubForm Forms!!
  5. Cách 1: Áp dụng để thay đổi thuộc tính ngay khi khởi tạo ra đối tượng.  Vào hộp thoại thuộc tính của đối tượng  Khai báo lại giá trị cho các thuộc tính của đối tượng để làm cho đối tượng phù hợp với bói cảnh chương trình. Cách 2: Thay đổi bằng lệnh. Cách này được áp dụng để thay đổi thuộc tính của đối tượng khi đối tượng đang mở. Cú pháp: Đường dẫn đến đ i tư ng . Tên thu c tính Giá trị mới  TH DỤ Muốn làm mờ đối tượng CommandButton (nút lệnh) tên cmdLuu trên Form có tên là F ChiTietHoaDon, ta viết như sau: Fomrs!F_ChiTietHoaDon!cmdLuu.Enabled = False 9.2.6. CÁCH GỌI PHƯƠNG THỨC CỦA M T OBJECT THI H NH  CÖ PH P Đường dẫn đến đ i tư ng . Tên phư ng thức [ Danh sách tham s  TH DỤ Muốn tính toán lại các điều khiển tính toán trên Form F CapNhatHangHoa, ta sử dụng phương thức Recalc như sau: Forms!F_CapNhatHangHoa.Recalc Để di chuyển một TextBox MANSX trong Form F DMNSX đến vị trí góc trên bên trái là 50,50 và có độ rộng 400, chiều cao 200, ta viết lệnh như sau: 224
  6. Forms!F_DMNSX!MANSX.Move 50,50,400,200 Phương thức Move có 4 tham số Move Left [,Top][,Width][,Height] Left: khoảng cách từ bên trái cửa sổ đến đối tượng di chuyển. Top: khoảng cách từ bên trên cửa sổ đến đối tượng di chuyển. Width: chiều rộng của đối tượng di chuyển. Height: chiều cao của đối tượng di chuyển. Các số đo tính bằng đơn vị Twip (1cm = 567 Twip). Chú ý:  Ta có thể sử dụng Me để thay thế cho đường dẫn đến form hoặc report chứa đoạn lệnh mà ta đang lập trình khi đó đường dẫn đến một control đang nằm trên form hoặc report đó sẽ là: Me.. Ví dụ: giả sử ta đang lập trình trong module của form F_Hoadon thì: o Me sẽ thay thế cho đường dẫn Forms!F_Hoadon o Me.Sohd sẽ thay thế cho đường dẫn Forms!F_Hoadon!Sohd 9.2.7. MÔ TẢ V G N BIẾN Đ I TƯỢNG a) Ý NGH A Biến đối tượng là biến dùng để chỉ định đến một loại đối tượng như cơ sở dữ liệu, bộ mẩu tin (Recordset), Form, Control. b) CÖ PH P KHAI B O BIẾN Đ I TƯỢNG Dim As Set = c) CÖ PH P SỬ DỤNG BIẾN Đ I TƯỢNG Sau khi khai báo và gán giá trị khởi tạo cho biến đối tượng, ta sử dụng bi ến đối tượng bình thường như một đối tượng. . hoặc . d) CÖ PH P GIẢI PHÓNG BIẾN Đ I TƯỢNG Sau khi đã làm việc xong với một biến đối tượng, ta giải phóng tài nguyên vùng nhớ hệ thống bằng cách gán từ khóa Nothing cho biến đối tượng. Set = Nothing e) C C THU C T NH ĐẶC BIỆT CHỈ ĐỊNH ĐẾN C C Đ I TƯỢNG Visual Basic for Applications cung cấp các thuộc tính đặc biệt dùng để chỉ định đến các đối tượng trong mô hình đối tượng của Access. Tên thuộc tính Chỉ định ActiveControl Điều khiển đang nhận sự tập trung trên đối tượng màn hình, 225
  7. Form, Report Previous Control Điều khiển gần nhất ở trước điều khiển hiện tại RecordsetClone Bộ mẩu tin dữ liệu nguồn bên dưới của Form ActiveForm Form đang nhận sự tập trung ActiveReport Report đang nhận sự tập trung Form Form con chứa trong một Form Report Report con chứa trong một Report Đối tượng Form hoặc báo cáo nơi chứa đoạn mã lệnh hiện tại Me đang thực hiện Parent Đối tượng cha của đối tượng hiện tại 9.2.8. CÖ PH P LỆNH WITH a) Ý NGH A Khi ta không muốn lặp đi lặp lại nhiều lần tên biến đối tượng hoặc tên đối tượng trong các câu lệnh thì ta có thể dùng phát biểu With. b) CÚ PHÁP With < ối tượng> . . End With c) THÍ DỤ : Đoạn lệnh sau đây Me.Caption = "Quan ly khach hang" Me.AllowAdditions = False Me.AllowDeletions = False Me.AllowEdits = True Có thể viết lại theo cấu trúc With là: With Me .Caption = "Quan ly khach hang" .AllowAdditions = False .AllowDeletions = False .AllowEdits = True End With 9.3. M T S THU C T NH PHƯƠNG THỨC BIẾN C CỦA M T S Đ I TƯỢNG THƯỜNG DÙNG 9.3.1. FORM 226
  8. a) THU C TÍNH - Caption: Đặt tiêu đề cửa sổ của form Thí dụ Đang ở cửa sổ viết Code cho Form hiện hành Forms!F_Hoadon.Caption = “ ơn đ t hàng” „Đặt tiểu đề cho Form là “Đơn đặt hàng” - RecordSource: Chọn Table/Queries làm nguồn cho Form. Thí dụ Chọn nguồn dữ liệu cho Form là query Q_DONDATHANG Me.RecordSource = “Q DONDATHANG” - Visible: n hoặc hiện form khi mở form ra. Có 2 giá trị là True hiện hoặc False ẩn . Thí dụ Muốn ẩn Form hiện hành Me.Visible = False „ n Form hiện hành - AllowDeletions: Cho (True) hoặc không cho (False) xóa dữ liệu trên Form Thí dụ Me.AllowDeletions = False „Không cho phép xóa dữ liệu trên Form - AllowAdditions: Cho (True) hoặc không cho (False) thêm dữ liệu trên Form Thí dụ Me.Additions = True „Cho phép thêm dữ liệu trên Form - AllowEdits: Cho (True) hoặc không cho (False) sửa dữ liệu trên Form Thí dụ Me.AllowEdits = False „Không cho phép sửa dữ liệu trên Form - NavigationButtons: hiện True hoặc ẩn False thanh chứa các nút di chuyển mẩu tin của Form Thí dụ Me.NavigationButtons = False „ n thanh chứa các nút di chuyển mẩu tin. - BookMark: Di chuyển mẩu tin hiện hành của form đến vị trí có BookMark nào đó. (BookMark là số hiệu đánh dấu của từng mẩu tin trên bộ mẩu tin) Thí dụ Me.BookMark = Rs.BookMark „Di chuyển mẩu tin hiện hành của Form đến mẩu tin mà con trỏ mẩu tin Recordset đang trỏ tới (Rs là biến có kiểu Recordset) - CurrentRecord: Trả về một số có kiểu Long cho biết mẩu tin hiện hành của Form được chỉ định nào đó (Form này đang hiển thị ở chế độ Form View) là mẩu tin thứ mấy. Thuộc tính này read only nên chỉ cho phép người lập trình tham khảo chứ không cho phép thay đổi. 227
  9. - AllowFilters: Cho phép (True) hoặc không cho phép (False) lọc các mẩu tin trên Form. Mặc nhiên là cho phép lọc. Thí dụ Me.AllowFilters = False „Không cho phép lọc các mẩu tin trên Form - Filter: cho phép xác định điều kiện lọc cho Form hoặc Report. Điều kiện lọc là một biểu thức đặt trong dấu nháy đôi. - FilterOn: tiến hành lọc True theo điều kiện được khai báo trong thuộc tính Filter hoặc B lọc False . Ví dụ Trong form F_HosoNV trên đó có 2 nút lệnh cmdLoc và cmdBoloc. Nếu bấm vào nút Lọc thì xuất hiện hộp thoại yêu cầu nhập vào tên nhân viên cần lọc. Sau khi nhập tên nhân viên và bấm OK thì tiến hành lọc những mẩu tin của form F_HosoNV chỉ cho hiển thị những nhân viên có tên được nhập từ bàn phím mà thôi. Nếu bấm vào nút Bỏ Lọc thì hiện đầy đủ các mẩu tin như ban đầu. Hình 9.6: Form F CHITIETHOADON khi chưa lọc Khi bấm vào nút Lọc xuất hiện hộp thông báo: 228
  10. Hình 9.7: Hộp thoại yêu cầu nhập tên nhân viên cần lọc Sau đây là mã lệnh viết cho 2 nút trên: Private Sub CmdBoloc_Click() Me.FilterOn = False End Sub Private Sub Cmdloc_Click() Dim dk As String dk = InputBox("Nhap vao ten nhan vien can loc:") Me.Filter = "ten='" & dk & "'" Me.AllowFilters = True Me.FilterOn = True End Sub b) PHƯƠNG THỨC - Undo: dùng quay về trạng thái ban đầu cho Form khi nó đang được sửa đổi. Thí dụ Me.Undo „Dùng phục hồi trạng thái cũ của Form hiện hành khi nó đang hiệu chỉnh. - Requery: ta sử dụng phương thức này để cập nhật lại dữ liệu mới nhất mà Form có được. Phương thức này thực hiện một trong các việc sau: + Trả về query nguồn cho Form. + Hiển thị dữ liệu mới nhất của Table nguồn khi ta Thêm, Xóa hoặc Sửa mẩu tin trên đó. + Cập nhật lại sự thay đổi mẩu tin khi ta ta áp dụng phương thức Lọc dữ liệu trên Form. Thí dụ Me.Requery „Dùng làm tươi dữ liệu lại cho Form - Recalc: cập nhật tức thời toàn bộ các điều khiển tính toán trên Form 229
  11. Thí dụ Me.Recalc c) BIẾN C - On Open (Cancel As Integer): biến cố xảy ra khi cửa sổ form được mở ra. Tham số Cancel có giá trị là True hoặc False. Mặc nhiên là False. Nếu là True có tác dụng hủy bỏ biến cố. - On Load: biến cố xảy ra khi dữ liệu được nạp lên form. - On Unload (Cancel As Integer): biến cố xảy ra khi nguồn dữ liệu trên form bị đóng lại. Tham số Cancel có giá trị là True hoặc False. Mặc nhiên là False. Nếu là True có tác dụng hủy bỏ biến cố. - On Close: biến cố xảy ra khi cửa sổ form bị đóng lại. Thứ tự các biến c xảy ra Các biến cố lần luợt xảy ra khi mở form: Open Load Resize Active Current Các biến cố lần luợt xảy ra khi đóng form: UnLoad Deactive Close 9.3.2. TEXTBOX a) THU C TÍNH - Name: dùng đặt tên cho TextBox. Ta chỉ đặt tên cho TextBox khi Form ở chế độ Design View. Trong quá trình đối tượng đang mở ta không được phép sử dụng lệnh để đổi tên đối tượng. - Control Source: khai báo nguồn dữ liệu cho TextBox. Nếu thay đổi bằng lệnh thì giá trị thay đổi phải đặt trong cặp dấu nháy đôi. Thí dụ Trên Form một form ta co textbox mang tên txtthang. Để gán cho txtbox này hiển thị tháng hiện hành ta sử dụng lệnh Me.txtthang.RecordSource=”=Month(Date())” - Visible: Hiện (True) hoặc ẩn (False) TextBox. Mặc nhiên là True. Thí dụ Me.txtKETQUA.Visible = False „Làm ẩn TextBox txtKETQUA - Enabled: làm mờ (False) hoặc sáng lại bình thường (True) Mặc nhiên là True. Ví dụ Me.txtTongTriGia.Enabled = False „Làm mờ TextBox txtTongTriGia - Locked: Cho phép (False) hoặc không cho phép (True) sửa đổi dữ liệu trên TextBox. Mặc nhiên là False. 230
  12. Thí dụ Me.txtTongTriGia.Locked = False „Không cho phép sửa đổi dữ liệu trên TextBox txtTongTriGia - AutoTab: tự động (True) hay không tự động (False) di chuyển con trỏ sang control kế tiếp (nằm trong bảng thứ tự Order Tab) khi đã nhập xong ký tự cuối cùng trong TextBox nếu như trong thuộc tính Input Mark của textbox có quy định khuôn mẫu nhập liệu. Thí dụ Me.txtMaSP.AutoTab = True „Cho phép con nháy tự động nhảy sang điều khiển khác. - ControlTipText: đặt lời mách nước về TextBox khi ta đưa con trỏ chuột vào nó. Hình 9.13: Khi đưa con tr chuột vào TextBox Manv thì xuất hiện lời mách nước b) PHƯƠNG THỨC - SetFocus: Cho TextBox nhận sự tập trung. Hay nói cách khác làm cho con trỏ chèn nhảy vào TextBox. Thí dụ Khi ta bấm vào nút THÊM để thêm mẩu tin mới cho Form F CAPNHATSANPHAM, ta muốn con trỏ nhảy ngay tới TextBox txtMASP nào đó để ta nhập ngay thông tin cho cột MASP, ta dùng phương thức SetFocus. Private Sub THEM_Click() Me.txtMASP.SetFocus „Cho con trỏ chèn nhảy ngay tới TextBox txtMASP End Sub 231
  13. c) BIẾN C - GotFocus: xảy ra khi TextBox nhận được sự tập trung (con trỏ chèn nhảy vào TextBox). - On Change: xảy ra khi có sự thay đổi dữ liệu trên TextBox - BeforeUpdate: xảy ra trước khi dữ liệu được cập nhật xuống Control Source của TextBox. - AfterUpdate: xảy ra sau khi dữ liệu đã được cập nhật xuống Control Source của TextBox. - LostFocus: xảy ra khi TextBox mất sự tập trung, con trỏ chèn đi ra khỏi TextBox. 9.3.3. COMMAND BUTTON a) THU C TÍNH - Name: đặt thuộc tính Name cho Command Button - Caption: Đặt thuộc tính nhãn cho CommandButton Thí dụ Đoạn lệnh sau đây có chức năng kiểm tra thuộc tính Caption của nút nút lệnh có tên là CmdVd nếu nhãn của nó đang là “Yes” thì đổi lại trở thành “No” và ngược lại nếu đang là “No” thì đổi lại trở thành “Yes”. If Me.CmdVd.Caption=”Yes” Then Me.CmdVd.Caption=”No” Else Me.CmdVd.Caption=”Yes” End If - Picture: Khai báo đường dẫn đến file hình để làm nhãn cho nút lệnh thay dòng chữ. Thí dụ Đặt hình lên nút. Hình là file maybay.ico nằm ở thư mục Hinh của ổ đĩa C: Me.cmdLoc.Picture=”C:\Hinh\maybay.ico” - ControlTipText: tương tự TextBox Thí dụ Cho lời mách của nút cmdThem là “Thêm mẩu tin mới” khi mở Form F_HOADON Me.cmdThem.ControlTipText = “Thêm mẩu tin mới” 232
  14. Hình 9.17: Lời mách nước của n t lệnh cmdThem xuất hiện khi ta đưa con tr chuột vào n - Visible: tương tự như TextBox Thí dụ n nút cmdThoat Me.cmdThoat.Visible = False - Enabled: tương tự như TextBox Thí dụ làm mờ nút cmdCong, cmdTru, cmdNhan, cmdChia Me.cmdCong.Enabled = False Me.cmdTru.Enabled = False Me.cmdNhan.Enabled = False Me.cmdChia.Enabled = False b) PHƯƠNG THỨC - SetFocus: làm cho nút lệnh nhận sự tập trung Thí dụ Khi ta bấm vào nút cmdLuu để lưu mẩu tin thì ta muốn nút cmdThem nhận được sự tập trung để ta có thể bấm Enter là có thể nhập mẩu tin mới khác. Me.cmdThem.SetFocus c) BIẾN C On Click: xảy ra khi ta Click chuột vào nút On Dbl Click: xảy ra khi ta Double Click chuột vào nút 233
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2