Connection: Đối tượng dùng để kết nối tới một nguồn sơ sở dữ liệu Command: Đối tượng sử dụng để thực hiện một câu lệnh xử lý hoặc một câulệnh truy vấn query với nguồn dữ liệu đã được
Trang 1LỜI NÓI ĐẦU
Cùng với sự phát triển của các lĩnh vực kinh tế, xã hội nhu cầu ứng dụngcông nghệ thông tin ngày càng cao và không ngừng biến đổi Khi hệ thống ngàycàng phát triển, càng phức tạp thì các phương thức quản lý cổ điển truyền thống sẽtrở nên cồng kềnh và khó có thể đáp ứng được yêu cầu ngày càng cao đó Để xử lýthông tin một cách nhanh chóng chính xác và hiệu quả, đòi hỏi phải có sự hổ trợcủa một công cụ hiện đại, đó chính là công nghệ thông tin
Sự phát triển của công nghệ thông tin đã tác động mạnh mẽ đến các hoạtđộng xã hội làm thay đổi một cách nhìn sâu sắc đến phong cách sống và làm việccủa con người Công nghệ thông tin đã trở thành trụ cột chính của nền kinh tế vànghiên cứu khoa học được nhiều người quan tâm Phạm vi ứng của công nghệthông tin càng được mở rộng trên nhiều lĩnh vực: truyền thông, đo lường, tự độnghoá, quản lý các hoạt động của con người và xã hội Những lợi ích mà các phầnmềm ứng dụng mang lại là đáng kể: lưu trữ, xử lý, tìm kiếm thông tin nhanh, chínhxác, khoa học, giảm bớt nhân lực công sức, tiền của và hiệu quả công việc đượcnâng cao một cách rõ rệt
Trong lĩnh vực công nghệ thông tin, các ngôn ngữ lập trình, các hệ quản trị
cơ sở dữ liệu, không ngừng phát triển và đổi mới, cho phép chúng ta xây dựng cácphần mềm ứng dụng cho phép hỗ trợ việc quản lý, hỗ trợ các hoạt động xã hội mộtcách tốt nhất Với tầm quan trọng của việc ứng dụng công nghệ thông tin vào rấtnhiều lĩnh vực trong cuộc sống hiện nay, sau nhiều năm liền được học tập và rènluyện tại khoa CNTT trường Đại học Vinh, bản thân tôi cũng muốn được góp mộtphần công sức của mình vào trong xu hướng đó thông qua việc tìm hiểu và tiếp cậnngôn ngữ lập trình VB6.0, một trong những công cụ phát triển phần mềm rất thông
Trang 2dụng và đặc biệt hiệu quả hiện nay để xõy dựng ứng dụng “Quản lý Đoàn viờn –Thanh niờn tại trường PTTH”.
Theo khảo sỏt thực tế và những năm thỏng học tập ở trường THPT của bảnthõn, cộng với việc nghiờn cứu tham khảo cỏc tài liệu liờn quan cũng như cỏc phõntớch, đỏnh giỏ của những người đi trước cho thấy, việc đưa cỏc ứng dụng cụngnghệ thụng tin và phổ biến vào cỏc cụng việc quản lý ở trường học phổ thụng núichung cũng như việc quản lý đoàn viờn núi riờng là rất ớt
Với những lý do thiết thực đú, tụi đó quyết định chọn đề tài: “QUẢN Lí ĐOÀN VIấN -THANH NIấN Ở TRƯỜNG PHỔ THễNG TRUNG HỌC” để tiến hành
thực hiện luận văn tốt nghiệp cho mỡnh
Tuy nhiên, do khả năng còn hạn chế và thời gian có hạn nên đề tài này chathật sự đáp ứng đúng tầm cỡ của công việc Em rất mong nhận đợc sự góp ý, chỉbảo của thầy Lê Ngọc Xuân, giáo viên phản biện và các bạn để chơng trình này cóthể đạt hiệu quả cao hơn Em xin chân thành cảm ơn
Vinh, ngày 14 thỏng 05 năm 2009
Sinh viờn thực hiện
Trang 3CHƯƠN 1: KHẢO SÁT HỆ THỐNG VÀ LỰA
CHỌN CÔNG CỤ I.KHẢO SÁT HỆ THỐNG
1.Giới thiệu đè tài
Phạm vi ứng dụng đề tài này là cho tất cả các trường học phổ thông
Chức năng cơ cấu hệ thống bao gồm:
+ Cập nhật thông tin về các chi đoàn
+ Cập nhật thông tin về đoàn viên-thanh niên (học sinh)
+ Theo dõi quá trình hoạt động của đoàn viên-thanh niên
+ Kết nạp đoàn viên mới
+ Luân chuyển đoàn viên
+ Xếp loại hạnh kiểm cho đoàn viên-thanh niên
+ Xếp loại hạnh kiểm theo cấp chi đoàn (lớp)
+ Xếp loại hạnh kiểm theo cấp đoàn trường (BCH Đoàn trường)
+ Thống kê, tìm kiếm và in ấn theo yêu cầu
2.Mô tả bài toán quản lí Đoàn viên – Thanh niên ở trường phổ thông
2.1.Tổ chức hệ thống.
Hệ thống bao gồm:
+ BCH Đoàn trường:
Trang 4- Đầu năm học, tiếp nhận thông tin học sinh khi vào trường và cậpnhật đoàn viên-thanh niên vào sổ theo dõi của đoàn
- Phân loại đoàn viên-thanh niên thông qua bảng xếp loại của bí thưchi đoàn gửi lên
- Tổng hợp tỷ lệ phần trăm xếp loại đoàn viên-thanh niên ở mỗi chiđoàn mà xếp loại chi đoàn
+ Bí thư chi đoàn: chịu trách nhiệm theo dõi đánh giá xếp loại đoàn viênsau đó gửi về văn phòng đoàn trường theo từng học kỳ
2.2.Chế độ xếp loại
2.2.1 Xếp loại đoàn viên- thanh niên
Tuỳ theo việc hoàn thành các khoản đóng góp của đoàn và năng lực hoạtđộng của từng đoàn viên-thanh niên mà phân ra các mức điểm rèn luyện cho từngđoàn viên-thanh niên
- Loại xuất sắc (mức điểm 90-100): Là những đoàn viên- thanh niên nhiệttình, năng nổ trong mọi hoạt động của đoàn, hoàn thành các khoản đóng góp củađoàn và học lực phải đạt khá trở lên
- Loại tốt (mức điểm từ 75-89): Là những đoàn viên-thanh niên cũng cần đạt
yêu cầu đối với loại xuất sắc tuy nhiên ở mức độ thấp hơn
- Loại khá (mức điểm từ 65-74): Là những đoàn viên-thanh niên có tham giađầy đủ các hoạt động của đoàn nhưng chưa thật tích cực tự giác, học lực trungbình, đã hoàn thành các khoản đóng góp
- Loại trung bình(mức điểm từ 50-64): Là những đoàn viên-thanh niên chưatham gia đầy đủ các hoạt động của đoàn, hoàn thành các khoản đóng góp chậm
Trang 5-Loại yếu và kém (mức điểm dưới 50): Là những đoàn viên-thanh niên rất íttham gia các hoạt động của đoàn, không hoàn thành các khoản đóng góp và họclực yếu kém
2.2.2 Xếp loại các chi đoàn
- Loại xuất sắc: Là những chi đoàn luôn đi đầu trong mọi hoạt động và cónhiều đoàn viên-thanh niên đạt loại xuất sắc
- Loại tốt: Là những chi đoàn tham gia đầy đủ mọi hoạt động của đoàntrường đề ra và có nhiều học sinh được xếp loại đoàn viên đạt loại khá trởlên
-Loại khá: Là những chi đoàn cũng cần đạt như các yêu cầu đối với loại tốtnhưng ở mức độ thấp hơn
- Loại trung bình: Là những chi đoàn không đạt yêu cầu các hoạt động củanhà trường đề ra và có nhiều học sinh đạt trung bình
2.3.Mô tả quá trình luân chuyển đoàn viên - thanh niên
Thông thường thì hệ thống quản lý đoàn viên-thanh niên chỉ là hệ thống conđược nằm trong hệ thống là quản lý trường học Quá trình luân chuyển học sinh(đoàn viên-thanh niên) là do ban giám hiệu thực hiện, sau đó chuyển danh sáchđoàn viên-thanh niên theo từng chi đoàn cho văn phòng đoàn trường quản lý Cáctrường hợp luân chuyển gồm có:
- Xin nghỉ một năm: Khi học sinh có hoàn cảnh đặc biệt xin nghỉ chờ mộtnăm, nhà trường lưu hồ sơ và chờ đến năm học tiếp theo sẽ bố trí học tiếp cho họcsinh, nhưng nếu học sinh nghỉ hẳn thì nhà trường lưu trữ hồ sơ học sinh
Trang 6- Lên lớp học
- Chuyển lớp
- Chuyển trường
- Ra trường
2.4.Các bảng biểu thu thập được
2.4.1.Bảng xếp loại đoàn viên-thanh niên
Đoàn TNCS HCM Cộng Hoà Xã Hội Chủ nghĩa Việt Nam
Đoàn trường THPT Hàm Rồng Độc lập-Tự do-Hạnh phúc
BẢNG XẾP LOẠI ĐOÀN VIÊN-THANH NIÊN
2.4.2 Phiếu chuyển sinh hoạt hè
Đoàn TNCS HCM Cộng Hoà Xã Hội Chủ nghĩa Việt Nam
Đoàn trường THPT Hàm Rồng Độc lập-Tự do-Hạnh phúc
PHIẾU CHUYỂN SINH HOẠT HÈ NĂM
Trang 7Kính gửi: Chi đoàn:
Để quản lý quá trình rèn luyện, phấn đấu và tu dưỡng của các đoàn viên-thanhniên không bị gián đoạn trong khi nghỉ hè, các đoàn viên-thanh niên có thể thamgia nhiều hoạt động hè ở địa phương mình, BCH đoàn trường THPT Hàm Rồngxin giới thiệu
Trang 8II.GIỚi THIỆU CÔNG CỤ LỰA CHỌN
1 GIỚ i THIỆU VỀ VISUAL BASIC 6.0
Visual Basic 6.0 (VB6) là một phiên bản của bộ công cụ lập trình VisualBasic (VB), cho phép người dùng tiếp cận nhanh cách thức lập trình trên môitrường Windows Những ai đã từng quen thuộc với VB thì tìm thấy ở VB6 nhữngtính năng trợ giúp mới và các công cụ lập trình hiệu quả Người dùng mới làmquen với VB cũng có thể làm chủ VB6 một cách dễ dàng
Với VB6, chúng ta có thể :
* Khai thác thế mạnh của các điều khiển mở rộng
* Làm việc với các điều khiển mới (ngày tháng với điều khiển MonthView vàDataTimePicker, các thanh công cụ có thể di chuyển được CoolBar, sử dụng đồhọa với ImageCombo, thanh cuộn FlatScrollBar,…)
* Làm việc với các tính năng ngôn ngữ mới
* Làm việc với DHTML
* Làm việc với cơ sở dữ liệu
* Các bổ sung về lập trình hướng đối tượng
Cài đặt Visual Basic 6.0
Sử dụng chương trình Setup, người dùng có thể cài đặt VB6 lên máy tính củamình Chương trình Setup này còn cài đặt các tập tin cần thiết để xem tài liệu trênđĩa CD MSDN (Microsoft Developer Network) Nếu cần, người dùng có thể càiđặt riêng phần tài liệu và ví dụ mẫu của Visual Basic lên máy tính
Để cài đặt VB6, người dùng nên kiểm tra máy tính của mình đảm bảo được cấuhình tối thiểu Các yêu cầu hệ thống tối thiểu :
- Microsoft Windows 95 trở lên hoặc là Microsoft Windows NT Workstation 4.0trở lên
Trang 92 TÌM HIỂU VỀ VISUAL BASIC 6.0
Lập trình trên VB thực chất là lập trình cho trên từng đối tượng vì vậy trước khi
lập trình phải xác định bạn muốn có kết quả gì, đối trượng nào sẽ mang lại chobạn kết quả bạn mong muốn và muốn có kết quả như vậy bạn phải tác động vàođối tượng như thế nào
Trang 10- Locked: Khoá đối tượng không cho người sử dụng làm việc Ngầm định làFalse không khoá, nếu là True khoá (chỉ với một số đối tượng)
- Enabled: Quyết định người điều khiển có được quyền làm việc với điềukhiển không Ngầm định là True, nếu là False không được làm việc
- Left: Canh lề trái
- Top: Canh lề trên
- Height: Độ rộng đối tượng
- Width: Chiều dài độ tượng
- Visble: Quyết định người điều khiển có được thấy điều khiển không
Ngầm định là True, nếu là Fasle không thấy đối tượng
- TabIndex: Thứ tự duyệt các điều khiển khi ấn phím Tab lúc chạy đề án
- ToolTipText: Hiển thị dòng thông báo khi đưa chuột tới điều khiển
Nếu như phương thức là tác động của người sử dụng lên đối tượng thì sự kiện là
sự phản ứng của đối tượng khi đối tượng nhận sự tác động
2.6.Thêm điều khiển vào dự án
Khi mới khởi động dự án VB chỉ ngầm định một số điều khiển Do yêu cầu của
dự án đòi hỏi chúng ta phải thêm một số điều khiển để nâng cao tính năng củachương trình Cách thêm: vào menu Project/Componenst/Controls đánh dấu vàođiều khiển muốn thêm vào chọn OK
2.7 Sử dụng các ứng dụng khác vào trong dự án
Để lấy đối tượng từ một ứng dụng nào đó ví dụ như ta muốn sử dụng thư việnđối tượng của Microsoft Excel, ADO, ta tham chiếu đến thư viện đối tượng ứngdụng đó Cách thêm: vào menu Project/References đánh dấu vào tham chiếu cầnthêm vào chọn OK
2.8 Lập trình cứng và lập trình mềm
Có hai cách để lập trình cho một đối tượng là lập trình cứng và lập trình mềm:
2.8.1 Lập trình cứng
- Là các thuộc tính được gán trong lúc thiết kế
- Ưu điểm của phương pháp này là dễ thiết kế, thời gian thực hiện nhanh
- Nhược điểm là không sử dụng được cho tất cả các trường hợp
2.8.2 Lập trình mềm
- Lập trình mềm là tất cả thuộc tính đều được lập trình bằng lệnh
- Ưu điểm là đáp ứng mọi yêu cầu về lập trình
- Nhược điểm là khó thiết kế và tốn thời gian thực hiện
Trang 11Trong quá trình lập trình phải tính toán cách lập trình nhưng nếu có thể chọnđược phương pháp lập trình cứng thì nên chọn để công việc bớt đi sự phức tạp.
2.9 Một số chức năng tự động (vào nemu: Option/Editor)
- Bật tắt chế độ kiểm tra lỗi cú pháp: Auto Syntax Check
- Bật tắt chế độ gợi nhớ code : Auto List Members (Ctrl+J)
- Bật tắt chế độ hiển thị cú pháp hàm: Auto Quick Info (Ctrl+I)
- Bật tắt chế độ hiển thị danh sách các dữ liệu khai báo biến
2.10 Tổ chức chương trình
Để chương trình được sáng sủa thì các biến, các chương trình con phải được tổchức một cách logic Nếu sử dụng cho toàn chương trình thì nên tạo các Modul đểchứa Vào menu Project/Add Module sau đó đặt tên cho các Module để dễ quản lý
- Tạo Modul, đặt tên là Variable để chứa các biến
- Tạo Modul, đặt tên là Function để chứa các hàm
- Tạo Modul, đặt tên là Procedure để chứa các thủ tục
Có thể tạo các Modul để nhóm các chương trình con tương đồng nhau
3 CÁC ĐIỀU KHIỂN CƠ BẢN
3.1 Bảng tiền tố cho các đối tượng
Object Prefix Example
Form frm frmFileOpen
MDI child form mdi mdiNote
Check box chk ReadOnly
Combo box cbo cboEnglish
Command button cmd cmdCancel
Data dat datBiblio
Recordset rst rstTemp
Directory list box dir dirSource
Drive list box drv drvTarget
File list box fil filSource
Frame fra fraLanguage
Grid grd grdPrices
Horizontal scroll bar hsb hsbVolume
Vertical scroll bar vsb vsbRate
Image img imgIcon
Label lbl lblHelpMessage
List box lst
lstPolicyCodes
Menu mnu mnuFileOpen
Option button opt optFrench
Picture box pic picDiskSpace
Trang 12Text box txt txtGetText
Timer tmr tmrAlarm
Object obj objUserTable
3.2 Biểu mẫu (Form)
Chức năng: Là đối tượng thông dụng nhất dùng để chứa các đối tượng khác Các
thuộc tính cơ bản của form:
- Name: tên của đối tượng, tiền tố frm
- Caption: Tiêu đề của form
- BorderStyle: Mẫu form, có 6 giá trị:
0-None: Không có tiêu đề (dùng cho Flash form)
1-Fixed Single: Chỉ có một nút đóng form và không cho dùng chuột kéorộng form (dùng cho Login form)
2-Sizable: Form đầy đủ các nút phóng to, thu nhỏ, đóng form
3-Fixed Dialog: Giống thuộc tính 1
4-Fixed ToolWindow: Giống thuộc tính 1
5- Sizable ToolWindow: Chỉ có một nút đóng form nhưng cho phép dùngchuột kéo rộng form
- Icon: Biểu tượng trên tiêu đề form.
- MDIChild: Quy định thuộc tính form con
- MaxButton: Ngầm định True, nếu=Fasle không cho chức năng phóng to
- MinButton: Ngầm định True, nếu=Fasle không cho chức năng thu nhỏ
- Picture: Hình ảnh trên form
- StartUpPosition: Vị trí bắt đầu hiện form, có 4 giá trị:
0-Manual Luôn ở trái màn hình
1-Center Owner: Giữa form sở hữu nó (MDI form)
2-Center Screen: Giữa màn hình
3-Windows Default: Hiện tự do trên màn hình
- WindowsState: Kích cỡ ban đầu khi hiển thị, có 3 giá trị:
0-Normal Thông thường
1-Minimized: Nhỏ nhất
2-Maximized: Lớn nhất
* Một số phương thức của form:
- Show: Hiện form nếu có thêm tham số vbModal thì khi chưa đóng form này sẽkhông cho làm việc trên form khác
Ví dụ để hiện 1 form ta có cấu trúc sau: Tên_Form.Show [vbModal]
- Để đóng một form ta dùng lệnh: Unload Tên_Form/Me
- Các sự kiện trong vòng đời của 1 form:
+ Khởi tạo form: Initialize Load Activate Paint
+ Đóng form: QueryUnload Unload Terminate
Trang 13Chúng ta thường dùng sự kiện Load để hiển thị dữ liệu hoặc hiện thị form Logincòn sự kiện Activate hoặcPaint dùng để Update dữ liệu
3.3 Hộp nhập (TextBox)
Chức năng: Là đối tượng dùng để nhập giá trị từ bàn phím Các thuộc tính:
- Name: Tên của đối tượng, tiền tố txt
- Alignment: Canh lề, có 3 giá trị :
0-Left Justify: Canh trái
1-Right Justify: Canh phải
2-Center: Canh giữa
- Locked: Ngầm định cho phép gõ, nếu là True khoá không cho gõ
- MaxLength: Quy định số ký tự tối đa cho phép gõ
- Multiline: Ngầm định là Fale không cho xuống dòng, nếu là True khi văn bảndài quá sẽ xuống dòng
- Text: Giá trị trên điều khiển
- Change: Sự kiện xẩy ra khi giá trị thuộc tính text thay đổi.
3.4 Nút lệnh (Command)
Chức năng: Là đối tượng dùng để thực thi lệnh khi chương trình thực hiện Cácthuộc tính:
- Name: Tên đối tượng, tiền tố cmd
- Caption: Tên nhãn trên nút
- Click: Sự kiện thường dùng để viết lệnh
- Style: Thuộc tính quy định đồ họa cho nút, Giá trị ngầm định là 1- Standar Nếunút lệnh muốn có icon thì chọn icon xong phải thay đổi giá trị Style=2-Graphical
* Để sử dụng được đối tượng hỗ trợ User Control là đối tượng có các chức năngnhư nút Command nhưng có hỗ trợ thêm chức năng đồ họa đẹp mắt Để thêm đốitượng này vào dự án tiến hành như sau: Vào menu Project/Add User Control/Existing Chọn thư mục User Control, chọn chameleonButton, chọn Opend sau đótrên thanh ToolBox (công cụ) sẽ xuất hiện công cụ chameleonButton màu tím cóhình bàn tay đang ấn nút Chúng ta có thể sử dụng nó như là một nút lệnhCommand Có các thuộc tính đáng lưu ý là:
- Name: Tên đối tượng vẫn được đặt theo quy tắc như trên
- BackColor: Đổi màu nền của đối tượng khi đưa chuột ra khỏi đối tượng, với giátrị màu ta lựa chọn
- BackOver: Đổi màu nền của đối tượng khi đưa chuột vào đối tượng, với giá trịmàu ta lựa chọn
- ButtonType: Thuộc tính cho này cho phép chọn 14 kiểu đồ hoạ cho nút, vớigiá trị hay dùng 2 kiểu là:
3-Windows XP
8-Office XP
Trang 14- ForeColor: Đổi màu chữ trên đối tượng khi đưa chuột ra khỏi đối tượng với giátrị màu ta lựa chọn.
- ForeOver: Đổi màu chữ trên đối tượng khi đưa chuột vào đối tượng, với giá trịmàu ta lựa chọn
- ColorScheme: Là thuộc tính quy định hiệu lực của những thuộc tính trên Ngầmđịnh là 1-Use Windows không cho thiết lập Nếu muốn các thiết lập trên có hiệulực thì nên chọn giá trị là 2-Custum
3.5 Thanh cuộn (SrollBar) có hai loại
Chức năng: Là đối tượng dùng để lập trình cho một đối tượng khác Các thuộctính:
- Name: tên đối tượng VScroll: Thanh cuộn đứng, tiền tố vsb
HScroll: Thanh cuộn nằm, tiền tố hsb
- Max: Giá trị lớn nhất của thanh cuốn (nên chọn=100)
- Min: Giá trị nhỏ nhất của thanh cuốn (nên chọn=0)
- LargeChange: Thuộc tính quy định độ rộng con chạy
- SmallChange: Bước nhảy khi ấn chuột vào mũi tên vào ở đầu thanh cuộn -Value: Vị trí của con chạy
- Change: Sự kiện xẩy ra khi thay đổi vị trí con chạy (sự kiện dùng lập trình)
3.6 Khung (Frame)
Dùng để nhóm các điều khiển thành từng nhóm theo chức năng và yêu cầu khilập trình Các thuộc tính:
- Name: Tên đối tượng, tiền tố fra
- Caption: Tên nhãn của đối tượng
3.7 Thời gian (Timer)
Chức năng: Là đối tượng dùng lặp một công việc nào đó trong những khoảngthời gian ấn định, thời gian được tính theo mili giây Đây là đối tương có rất nhiềuchức năng khác như tạo chữ động, tạo các trạng thái nút Command Thuộc tính:
- Name: Tên đối tượng, tiền tố tmr
- Interval: Thuộc tính qui định khoảng thời gian lặp tính bằng mili giây
3.8 Nhãn (Label)
Chức năng: Là đối tượng thường đi kèm để chú thích cho đối tương khác nhưText Box hoặc để hiển thị giá trị nào đó Các thuộc tính:
- Name: Tên đối tượng, tiền tố lbl
- AutoSize: Tự động tăng kích cỡ của nhãn cho phù hợp với kích thước chuỗi.Ngầm định là False không tự động
- Alignment: Canh lề, có 3 giá trị :
0-Left Justify: Canh trái
1-Right Justify: Canh phải
2-Center: Canh giữa
- Caption: Tên nhãn hiển thị
Trang 153.9 Hộp kiểm tra (CheckBox)
Chức năng: Là đối tượng dùng để kiểm tra hay đánh dấu Các thuộc tính:
- Name: Tên đối tượng, tiền tố chk
- Alignment: Canh lề, có 2 giá trị :
0-Left Justify: Chữ nằm bên trái hộp kiểm tra
1-Right Justify: Chữ nằm bên phải hộp kiểm tra
- Caption: Tên nhãn của hộp kiểm tra
- Value: Giá trị của hộp kiểm tra nhận 3 giá trị:
0-UnChecked: Không chọn
1-Checked: Chọn
2-Grayed: Cấm chọn
3.10 Tuỳ chọn (Option)
Chức năng: Là đối tượng lựa chọn các giá trị nào đó
- Name: Tên đối tượng, tiền tố opt
- Alignment: Canh lề, có 2 giá trị :
0-Left Justify: Chữ nằm bên trái tuỳ chọn
1-Right Justify: Chữ nằm bên phải tuỳ chọn
3.11 Điều khiển ảnh (Image)
Chức năng: Hiện hình ảnh.Ví dụ như hiện ảnh hồ sơ nhân sự
Ví dụ để mềm hình: imgHinh.Picture=LoadPicture(Me.txtChonHinh.Text).
3.12 Danh sách (ListBox)
Chức năng: Hiển thị dữ liệu dạng danh sách Các thuộc tính:
- Name: Tên đối tượng, tiền tố lst
- List Count: Số các phần tử trong danh sách
- Sorted: Sắp xếp, ngầm định là False không sắp nếu là True sắp xếp
- IntegralHeight: Tự động điều chỉnh độ rộng cho vừa khớp với danh sách
- ListIndex: Thứ thự các phần thử trong danh sách bắt đầu từ 0
* Một số phương thức:
- AddItem: Bổ sung một phần tử vào danh sách
- RemoveItem: Xoá một phần khỏi danh sách
- Clear: Xoá toàn bộ danh sách
3.13 Hộp kết hợp (ComboBox=ListBox+TextBox)
Chức năng: Có chức năng và thuộc tính như: ListBox và TextBox Ngoài racòn có một số thuộc tính khác như:
- Name: Tên đối tượng, tiền tố cbo
- Style: Kiểu danh sách, có 3 giá trị tương ứng cho 3 kiểu:
0-Dropdown Combo: Là kiểu cho phép người sử dụng có thể nhập giá trịmới từ bàn phím hoặc có thể lựa chọn phần tử đã có sẵn
Trang 161-Simple Combo: Kiểu tương đương như một TextBox
2- Dropdown List: Chỉ cho phép lựa chọn phần tử đã có sãn Chức năng nàykhông cho phép nhập giá trị mới từ bàn phím nhưng cho khi gõ phím sẽ tự độngtìm phần tử tương ứng với ký tự vừa gõ
3.14 Hiển thị văn bản (RichTextBox)
Đây là điều khiển không được ngầm định tự có trong thanh ToolBox Để trênthanh ToolBox hiển thị điều khiển này vào menu: “Project/Components” -> xuấthiện hộp thoại “Components” -> chọn tab “Controls” -> đánh dấu chọn “MicroftRich Textbox Control 6.0 (OLEDB)” -> click “OK” -> điều khiển DataGrid sẽxuất hiện trên thanh công cụ Chức năng là cho phép hiển thị văn bản của Wordđược lưu lại với đuôi rtf (Rich Text Format) Các chức năng xử lý văn bản:
- Đổi văn bản sang chữ hoa:
Me.rftNoiDung.SetText = Ucase(Me.rftNoiDung.SetText).
- Đổi đoạn văn bản được chọn sang chữ đậm:
Me.rftNoiDung.SelBold = Not Me.rftNoiDung.SelBold.
- Đổi văn bản được chọn sang chữ nghiêng:
Me.rftNoiDung.SelItalic = Not Me.rftNoiDung SelItalic.
- Đổi văn bản được chọn sang chữ gạch chân:
Me.rftNoiDung SelUnderline = Not Me.rftNoiDung.SelUnderline.
- Cắt đoạn văn bản được chọn:
Option: lựa chọn = rtfWholeWord: Tìm nguyên từ
= rtfMatchCase: Tìm có phân biệt hoa thường
= rtfNoHighLinght: làm nổi bật văn bản cần tìm
- Mở tệp cho hiện lên RichTextBox:
Trang 173.15 Lưới dữ liệu (DataGrid)
Đây là điều khiển không được ngầm định tự có trong trong thanh ToolBox Đểtrên thanh ToolBox hiển thị điều khiển này vào menu: “Project/Components” ->xuất hiện hộp thoại “Components” -> chọn tab “Controls” -> đánh dấu chọn
“Microft DataGrid Control 6.0 (OLEDB)” -> click “OK” -> điều khiển DataGrid
sẽ xuất hiện trên thanh công cụ Chức năng là dùng để hiển thị cơ sở dữ liệu dạnglưới như một bảng cơ sở dữ liệu Các dữ liệu được hiển thì phải thông qua truy vấn
dữ liệu Các thuộc tính:
- Name: Tên đối tượng, tiền tố dgd
- DataSource: Nguồn dữ liệu của DataGri
- AllowAddNew: Cho phép thêm mới bản ghi trên DataGrid, ngầm định là Falsekhông cho thêm mới
- AllowDelete: Cho phép xoá bản ghi trên DataGrid, ngầm định là False khôngcho xoá
- AllowUpDate: Cho phép sửa bản ghi trên DataGrid, ngầm định là True chophép sửa
+ Sau khi dùng cú pháp SQL hiện dữ liệu lên DataGrid
- Nếu không muốn hiện một cột nào đó ta không muốn hiện dùng lệnh:
dgdData.Colunms(“tên_cột”).Visible=False
- Nếu muốn thay đổi độ rông cột dùng lệnh:
dgdData.Colunms(“tên_cột”).With=Number
- Thay tiêu đề cho cột dùng lệnh:
dgdData.Colunms(“tên_cột”).Caption= “tên mới”
Trang 18- Bôi đậm tiêu đề dùng lệnh:
dgdData.HeadFont.Bold=True
dgdData.HeadLine=1.5
3.16 Lưới dữ liệu nâng cao (MSFlexGrid)
Đây là điều khiển không được ngầm định tự có trong trong thanh công cụ Để
trên thanh hiển thị điều khiển này vào menu: “Project/Components” -> xuất hiệnhộp thoại “Components” -> chọn tab “Controls” -> đánh dấu chọn “MicroftFlexGrid Control 6.0 -> click “OK” -> điều khiển MSFlexGrid sẽ xuất hiện trênthanh công cụ Chức năng là dùng để hiển thị cơ sở dữ liệu dạng lưới như mộtbảng cơ sở dữ liệu Các dữ liệu được hiển thì phải thông qua truy vấn dữ liệu.Các ký tự định dạng để tạo tiêu đề cho lưới:
Ký tự Ý nghĩa
| Phân cách dùng để tách biệt các chuỗi đặt trong tiêu đề của lưới
< Căn lề trái cho cột
> Căn lề phải cho cột
^ Căn lề giữa cho cột
; Bắt đầu của thông tin dòng
- Sort: Thuộc tính Sắp xếp và các giá trị của xắp xếp với các giá trị từ 0 -> 9
- AddItem: Phương thức thêm giữ liệu (bản ghi) vào ô lưới
- Thiết lập trộn ô lưới: Khi muốn nhóm dữ liệu thành từng nhóm chúng ta nên trộncác bản ghi theo nhóm:
B1: MergeRow.MergeCol(Number)=True: Chỉ ra dòng và cột dùng để trộn B2: Đầu tiên quy định thuộc tính MergeCells của lưới cho phép trộn Các giá
trị cụ thể như sau:
0-flexMerge Never: Không trộn.
1- flexMerge Free: Ô có thể bị trộn ở dòng hay cột sát cạnh nhau
2- flexMerge RestrictRow: Dữ liệu chỉ có thể trộn trên dòng.
3- flexMerge Colunmus: Dữ liệu chỉ có thể trộn trên cột
4- flexMerge All: Dữ liệu có thể trộn trên cả dòng và cột.
3.17 Hộp thoại thông dụng (CommonDialog)
Đây là điều khiển không được ngầm định tự có trong trong thanh ToolBox Để
trên thanh ToolBox hiển thị điều khiển này vào menu: “Project/Components” ->xuất hiện hộp thoại “Components” -> chọn tab “Controls” -> đánh dấu chọn
“Microft Common Dialog Control 6.0 -> click “OK” -> điều khiển MSFlexGrid sẽxuất hiện trên thanh công cụ Có 6 CommonDialog loại:
- File Opend: Phương thức ShowOpend
- File Save: Phương thức ShowSave
Trang 19- Color: Phương thức ShowColor.
- Font: Phương thức ShowFont
- Print: Phương thức ShowFont
- Help: Phương thức ShowHelp
Các thuộc tính:
- FileName: Đường dẫn đầy đủ của tập tin mà ta chọn
- FilTile: Tên tập tin không tính đường dẫn
- Filter: Kiểm tập tin sẽ hiển thị (bộ lọc)
- FileterIndex: Chỉ số bộ lọc
- InitDir: Thư mục sẽ ngầm định khi hộp thoại hiển thị
- DialogTitle: Tiêu đề hộp thoại
- Flags: Quản lý hoạt động của hộp thoại, với các giá trị sau:
cdlOFNHideReadOnly Opend Không mở File ẩn và File chỉ đọc cldONFFileMustExist Opend Chỉ có thể chọn tập tin có thực
cdlCFEffects or cdlCFBoth Font,Color Thường dùng cho Font và Color
3.18 Menu
Chức năng: tạo nemu sử dụng cho Form
Cách tạo: Vào Tools/Menu Editor -> xuất hiện hộp thoại Menu Editor
Các thuộc tính:
- Caption: Tên menu hiển thị trên form Nếu muốn phân nhóm menu thuộc tínhCaption được gán bằng dấu “-” (trừ)
- Name: Tên lập trình, tiền tố mnu
- Check: cho nút kiểm tra kèm theo
3.19 Hộp thoại
- Đối thoại: MsgBox(prompt[,buttons][,title][,helpfile,context])
- Nhập:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
3.20 Xử lý tập tin
Mô hình FSO: cung cấp khả năng tạo, thay đổi di chuyển xoá các thư mục, dòtìm chúng có tồn tại hay không, nếu có ỏ đâu Nó còn cho phép lấy thông tin về thưmục như trên về ngày tạo, ngày sửa đổi gần nhất
- FileSystem Object các thuộc tính và phương thức cho phép tạo, xoá, thu thậpthông tin về ổ đĩa, thu mục, tệp tin,
Cách tạo ra đối tượng (để biết thêm chi tiết vào bộ Hepl tìm kiếm FSO):
Trang 204 TOÁN TỬ, KIỂU DỮ LIỆU, HẰNG, BIẾN, MẢNG
4.1 Toán tử
tử
+ Phép cộng, ghép xâu \ Phép chia lấy nguyên And
Thứ tự ưu tiên các phép toán: ( ) ^ (số âm) * / \ Mod +
-4.2 Khai báo hằng
- Private Const tên_hằng = giá trị ‘Hằng địa phương trên khai báo ở form
- Public Const tên_hằng = giá trị ‘Hằng toàn cục khai báo ở modul
4.3 Khai báo biến
- Public tên_biến As Kiểu_dữ_liệu ‘Biến toàn cục
- Dim tên_biến As Kiểu_dữ_liệu ‘Biến địa phương
- Public/Dim tên_biên(số phần tử) As Kiểu_DL ‘Mảng tĩnh
- Public/Dim tên_biến() As Kiểu_DL ‘Mảng động
4.4 Phạm vi sử dụng biến
- Biến sử dụng cho toàn chương trình ở mọi form có hai loại:
Biến khai báo trong modul và bắt đầu khai báo bằng từ khoá Public
- Biến được khai báo với từ khoá Public trong General của form
Cách khai báo như trên nhưng khi gọi: tên_form.tên_biến.
- Biến được khai báo bằng từ khoá “Dim” nếu khai báo trong General của formthì sử dụng cho toàn thủ tục trong form này
- Biến khai báo trong thủ tục và hàm nào chỉ được dùng trong thủ tục và hàm đó
Trang 215.3 Giới thiệu một số hàm và thủ tục chuẩn
- Asb(n): Trị tuyệt đối của n
- Str(n): Đổi số n sang chuỗi văn bản
- Val(n): Đổi chuỗi n sang số
- Ucase(“Str”): Đổi chuỗi Str sang chữ hoa
- Lcase(“Str”): Đổi chuỗi Str sang chữ thường
- Len(“Str”): Cho độ dài của chuỗi Str
- Left(“Str”, Lenght): Lấy trái chuỗi Str với số ký tự lenght.
- Mid(“Str”, Start, Lenght): Lấy giữa chuỗi Str từ vị trí Start với số length ký tự.
- Right(“Str”, Start): Lấy phải chuỗi Str với số ký tự Start.
- InStr(Start, “Str1”, “Str1”): Chèn chuỗi Str2 vào chuỗi Str1, kể từ vị trí Start
- Split(“Str”, “Ch”): Trả về kiểu mảng gồm các phần từ là các chuỗi con của Str
được phân biệt bởi chữ cái Ch
6 CÁC CẤU TRÚC ĐIỀU KHIỂN
6.1 Cấu trúc rẽ nhánh IF THEN ELSE
Trang 22Select Case (biểu thức kiểm tra)
Trang 23<Lệnh>
Next
Lưu ý: Có thể dùng lệnh nhảy Goto nhãn hoặc sử dụng Exit để ngắt vòng lặp
7 LẬP TRÌNH CƠ SỞ DỮ LIỆU
7.1 Các mức khoá cơ sở dữ liệu.
7.1.1 Khoá mức cơ sở dữ liệu (Database locking)
Khoá mức cơ sở dữ liệu là một phối hợp hoá hạn chế nhất bạn có thể sử dụngtrong các ứng dụng Visual Basic Khi mở cơ sở dữ liệu bằng cách sử dụng điềukhiển dữ liệu Visual Basic Khi thực hiện khoá, không có người dùng nào khác cóthể mở được cơ sở dữ liệu Các chương trình khác cũng không thể đọc hoặc ghi bất
kỳ thông tin nào cho đến khi cơ sở dữ liệu được đóng
7.1.2 Khoá mức bảng (Table locking)
Khoá mức bảng mục đích để bảo vệ bảng trong khi đang thực hiện các thao tácvới dễ làm tổn hại đến bảng
7.1.3 Khoá mức trang (Page locking)
Một trang cơ sở dữ liệu có thể chứa nhiều hơn một record dữ liệu Khoá mứctrang là khoá tất cảc các bản ghi trên cùng một trang dữ liệu
7.1.4 Khoá bi quan và khoá lạc quan
Thuộc tính LockEdits của recordset để điều khiển việc khoá trang Có hai kiểukhoá trang có hiệu lực: khoá bi quan và khoá lạc quan:
- Khoá bi quan (Pessimistic locking) khi LockEdits=True Kiểu khoá này sẽ thựchiện khoá trang dữ liệu khi phương pháp Edit (chỉnh sửa) hoặc Addnew (thêmmới) được thực hiện Trang vẫn bị khoá cho đến khi phương pháp Update hoặcCancel được thực hiện Khi được khoá không thể có một chương trình hay ngườidùng khác có thể đọc hoặc ghi bất kỳ record nào trên trang bị khoá cho đến khiphương pháp Update hoặc Cancel được gọi Lợi thế của phương pháp này là nócung cấp mức của khả năng toàn vẹn dữ liệu mức trang Sự bất lợi của phươngpháp này là có thể khoá các trang dữ liệu trong một thời gian dài điều này làm chocác người dùng chung cơ sở dữ liệu khác gặp thông báo lỗi khi cố gắng dọc hoặcghi dữ liệu trong cùng một bảng
- Khoá lạc quan (optimistic locking) khi LockEdits=False Phương pháp này chỉkhoá dữ liệu khi phương pháp Update được gọi Các người dùng khác có thể gọiphương pháp Edit hoặc Addnew và bắt đầu hiệu chỉnh mà không cần nhờ tớiMicrosoft Jet thực hiện khoá trang Khi người dùng thực hiện xong việc thay đổi
và lưu lại record bằng cách sử dụng phương pháp Update Microsoft Jet cố gắngđặt một khoá trang Nếu thành công record được ghi vào bảng Nếu Microsoft Jet
Trang 24phát hiện ra một người dùng nào đó đã hiệu chỉnh cùng một record và đã lưu lạirồi, việc cập nhật bị huỷ bỏ và người dùng nhận được thông báo lỗi là một ngườinào đó đã thay đổi dữ liệu Lợi ích của phương pháp này là các khoá trang đượcđặt trong một thời gian ngắn nhất có thể được Điều này làm giảm bớt số lượngthông báo lỗi mà các người dùng khác nhận được khi họ truy cập cùng một cơ sở
dữ liệu Điểm bất lợi của phương pháp này là nó có thể cho phép hai người cùngmột record tại cùng một thời điểm Điều này thường xảy ra lỗi khoá ở thời điểmcập nhật hơn là thời điểm đọc dữ liệu
7.2 Cú pháp SQL
7.2.1 Tạo bảng
CREAT TABLE tên_bảng(tên_cột kiểu DL [kích thước] not nul, )
Các kiểu dữ liệu: Text(n), Long, Single,
7.2.2 Xoá bảng
DROP TABLE tên_bảng
7.2.3 Chọn dữ liệu và kết nối các bảng
+ Tổng quát:
- SELECT [DISTINCT] danh sách trường [AS Tên bí danh]
FROM danh sách tên_bảng
[WHERE biểu thức điều kiện] ‘Điều kiện lọc dữ liệu
[GROUP BY danh sách trường] ‘ Nhóm ban ghi
[HAVING biểu thức điều kiện] ‘Điều kiện cho từng nhóm
[ORDER BY tên_cột [ASC/DESC] ‘Sắp xếp
- Kết nối dữ liệu từ nhiều bảng
Dạng 1:
SELECT TableName1.Filed, TableName2.Field, TableName3.Field
FROM TableName1, TableName2
WHERE (TableName1.Key1= TableName2.Key1) AND
(TableName2.Key2= TableName3.Key2)
Dạng 2:
SELSECT TableName1.Field, TableName2.Field
FROM TableName1 WHERE Key IN (SELECT * FROM bảng2 )
Trang 25SELECT TableName 1.Field, TableName 2.Field, TableName3.Field FROM(TableName1 LEFT JOIN(TableName2 LEFT JOIN TableName3
ON TableName2.Key1= TableName3.Key1)
ON TableName1.Key2= TableName2.Key2)
7.2.4 Thêm record mới
INSERT INTO TableName (danh sách trường)
VALUES(danh sách giá trị tương ứng)"
Giả sử câu lệnh chuỗi strSQL được gán bằng một câu lệnh SQL “cập nhật” ta có
một thủ tục thực hiện lệnh như sau:
Dim cmdCommand As New Command
Set cmdCommand.ActiveConnection = cnnConnection
Với biến cnnConnection khai báo:
Public cnnConnection As New ADODB.Connection Và các thuộc tính của nóđược thiết lập trong hàm OpenDataBase
7.3 Mô hình Axtivex Data Object (ADO)
- ADO là viết tắt của AxtiveX Data Object (Đối tượng dữ liệu AxtiveX) Tốc độ
và tính toán đơn giản là một trong những mục tiêu cốt lõi của ADO Nó cung cấpcách thức nhanh và hiệu quả để xây dựng các recordset từ cơ sở dữ liệu được kếtnối Cho phép người lập trình có thể tạo một recordset, ngắt kết nối từ máy chủ -Thậm chí lưu recordset vào một file trên đĩa cục bộ để sau này kết nối trở lại với cơ
sở dữ liệu và gửi các recordset đã được cập nhật Mô hình này được thiết kế để chophép tạo ra một đối tượng recordset mà không cần phải di chuyển từ qua các đốitượng khác trong quá trình Muốn sử dụng ứng dụng ADO cần phải thêm ứng dụng
“Microsoft ActiveX Data Object 2.1 Library”
Thực tế, chỉ có các đối tượng cốt lõi sau trong mô hình:
Trang 26 Connection: Đối tượng dùng để kết nối tới một nguồn sơ sở dữ liệu
Command: Đối tượng sử dụng để thực hiện một câu lệnh xử lý hoặc một câulệnh truy vấn (query) với nguồn dữ liệu đã được chỉ ra ở Connection
Recordset: Đối tượng dùng để lưu kết quả của câu lệnh truy vấn từCommand
Parameter: Khi Command thực hiện câu lệnh, ta cần truyền vào cho câu lệnhcác tham số cần thiết Ta sẽ dùng Parameter để làm việc đó
7.4 Truy cập dữ liệu với OLEDB
ADO sử dụng OLEDB để dành quyền truy cập đến cơ sở dữ liệu một trongnhững khía cạnh chủ yếu của OLEDB là nó được thiết kế để cung cấp một quytrình mô tả dữ liệu Bằng cách đưa ra các cách thức để truy cập dữ liệu ở bất kỳdạng nào, được hỏi đáp qua một phương pháp nào đó Bởi vì OLEDB không đòihỏi tất cả các kho dữ liệu được công bố dưới dạng bảng, hàng, cột, OLEDB có thểđược sử dụng cho nhiều kho dữ liệu và coi như thay thế phương pháp ODBC.OLEDB sử dụng trình điều khiển để cung cấp các yêu cầu của Visual Basic và kho
dữ liệu OLEDB sử dụng thuật ngữ provider (trình cung cấp) cho thành phần đóngvai trò trung gian giữa chương trình Visual Basic của người lập trình và cơ sở dữliệu Có hai trình cung cấp hay được sử dụng đó là:
Microsoft.Jet.OLEDB.4.0 cho Access
SQLOLEDB.1 cho SQL Server
7.5 Các thuộc tính ADO đặc biệt
Connection string (Chuỗi kết nối): Mô hình ADO sử dụng thuộc tínhConnection String để chỉ định trình cung cấp OLEDB sử dụng để kết nốiđến kho dữ liệu, cùng với tất cả các chi tiết cần thiết để hoàn thành một kếtnối dữ liệu Một Connection String gồm:
Provider=<provider name>; Data source=<source details>
[;User ID=<strUser >; Password=<strPassword >]
Trong đó:
- Provider name là tên trình cung cấp
- Source details là chi tiết của nguồn dữ liệu
OLEDB quản lý
Trang 27Các thiết lập cho thuộc tính CommandType
adCmdText Đánh giá CommandText như là một định nghĩa nguyên
văn của một command Đây là giá trị hay được sử dụngcho các cú pháp SQL
adCmdTable Đánh giá CommandText như là tên môn bảng trong một
query SQL được phát sinh để trả về tất cả các cột
adCmdStoredProc Đánh giá CommandText như làmột thủ tục được lưu trữadCmdUnknown Ngầm định Kiểu command trong tính CommandText là
không biết được
adCmdFile Đánh giá CommandText như là một tên file của một
Các thiết lập hợp lệ cho thuộc tính CursorLocations
adUseClient Sử dụng các cursor phía máy khách do một thư viện cursor
cục bộ cung cấp Các phương tiện xử lý cursor cục bộ thường
Trang 28cho phép nhiều tính năng mà cursor được cung cấp bởi trìnhđiều khiển không có, do đó sử dụng thiết lập này có thể cungcấp một ưu điểm thừa nhận các tính năng sẽ cho phép Đây làgiá trị phù hợp nhất.
adUseServer Mặc định, Sử dụng các cursor dạng trình cung cấp dữ liệu
hay dạng được cung cấp bởi trình điều khiển Các cursor nàyđôi khi rất mềm dẻo và cho phép nhạy cảm bổ sung để thayđổi những cái khác tạo nguồn dữ liệu Tuy nhiên một số tínhnăng của ADO có thể không sử dụng được với máy chủ
Cursor type (Kiểu con trỏ): Thuộc tính này dùng để chỉ định loại recordset
sẽ được trả về bởi trình cung cấp dữ liệu Quản lý cơ chế trao đổi dữ liệu haichiều từ Recordset được lấy ra và cơ sở dữ liệu
Các thiết lập cho thuộc tính CursorType
adOpenForwardOnly Giá trị này cung cấp một cursor recordset chỉ hướng
về trước Bạn có thể cuộn về phía trước qua cácrecord trong sưu tập Giá trị này cải tiến sự thực hiệntrong các trạng thái khi bạn chỉ cần thực hiện secordđơn qua một recordset Đây là giá trị mặc định
adOpenKeyset Giá trị này cung cấp cursor recordset dạng Keyset
Recordset này có sự thay đổi thành phần Có thể thấyđược các hiệu chỉnh của người dùng khác Cácrecord do những người dùng khác xoá thì không thểtruy cập được từ recordset của bạn Các record dongười dùng khác thêm vào thì không có trongrecordset
adOpenDynamic Cursor động Recordset này có sự thay đổi thành
phần Tất cả các hành động thêm, hiệu chỉnh và xoáthực hiện bởi người dùng khác có thể thấy được
adOpenStatic Giá trị này cung cấp một cursor recordset tĩnh Đây
là một bản sao tĩnh của một tập record bạn có thể sửdụng để tìm kiếm dữ liệu, di chuyển về trước hay lùi
về phía sau, Mọi thao tác thêm, hiệu chỉnh, hayxoá do người dùng khác thì không thể thấy được
Lock Type (Kiểu khoá): Thuộc tính này dùng để chỉ định cách bạn muốnquản lý việc khoá trong suốt các phiên hiệu chỉnh với recordset
Các thiết lập cho thuộc tính LockType
Trang 29Thiết lập Mô tả
adLockReadOnly Mặc định Chỉ đọc-Không thể thay đổi dữ liệu
adLockPessimistic Khoá record theo kiểu bi quan Trình cung cấp sẽ
khoá nguồn dữ liệu vào ngay lúc hiệu lực hiệuchỉnh
adLockOptimistic Khoá record theo kiểu lạc quan Trình cung cấp sẽ
khoá các record khi cố gắng cập nhật record
adLockBatchOptimisti
c
Khoá theo lô record theo kiểu lạc quan Trình cungcấp sẽ khoá toàn bộ lô khi cố gắng sử dụng phươngpháp UpdateBatch trên recordset
Mode Type (Kiểu chế độ làm việc): Thuộc tính này có thể được sử dụng để
ra lệnh cho trình cung cấp hạn chế truy cập đến kho dữ liệu trong khi bạn cómột recordset đang mở bảng
Các thiết lập hợp lệ cho thuộc tính ModeType (Cho Connection.Mode=)
adModeUnknown Mặc định Chỉ định quyền hạn chưa xác định
adModeRead Mở recordset với quyền hạn chỉ được đọc
adModeReadWrite Mở recordset với quyền hạn đọc / ghi
adModeShareDenyRead Ngăn người dùng khác mở kết nối với quyền đọc.adModeShareDenyWrit
e
Ngăn người dùng khác mở kết nối với quyền ghi
adModeShareExclusive Ngăn cản người dùng khác mỡ kết nối
adModeShareDenyNone Ngăn cản mở kết nối với bất cứ quyền hạn nào
7.6 Các phương thức của ADO.Recordset
- Giả sử ta có đối tượng: Dim rstTemp As New ADODB.Recordset
rstTemp.MoveFirst Di chuyển con trỏ về đầu Recordset
rstTemp.MoveLast Di chuyển con trỏ về cuối Recordset
rstTemp.MoveNext Di chuyển tới bản ghi tiếp theo
rstTemp.MovePrevious Di chuyển tới bản ghi kề sau
rstTemp.Update Sửa bản ghi (ít dùng)
rstTemp.AddNew Thêm bản ghi mới (ít dùng)
Trang 30rstTemp Delete Xoá bản ghi (ít dùng).
rstTemp.Find “Đk tk” Tìm kiếm bản ghi thoã điều kiện tìm kiếm (ít dùng)
7.7 Các thuộc tính của ADO.Recordset
rstTemp.BOF Trả về giá trị True nếu con trỏ ở đầu Recordset
rstTemp.EOF Trả về giá trị True nếu con trỏ ở cuối Recordset.rstTemp.Fields("Trường") Trả về giá trị của bản ghi chiếu theo "Trường"
* Đối với lập trình trên máy trạm: Thuộc tính dùng để thiết lập tối ưu nhất là
- CursorLocations = adUseClient
- CursorType = adOpenStatic
- LockType = adLockBatchOptimistic
8 KẾT NỐI VÀ TRUY VẤN TỆP CƠ SỞ DỮ LIỆU
- Khai báo ở Module Variable các biến sau:
Option Explicit
Public cnnConnection As New ADODB.Connection
Public rstTemp As New ADODB.Recordset
8.1 Kết nối và mở tệp cơ sở dữ liệu
8.1.1 Khai báo ở Modul Function
Public Function OpenDataBase(sServer As String, _
On Error GoTo ThongBaoLoi
'Ket noi du lieu voi Access
strConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0 " & _
";Data Source=" & sDSN & " " & _
";User ID=" & sUser & " " & _
";Password=" & sPW & ";"
'Ket noi du lieu voi SQL Server
'strConnection = "Provider=SQLOLEDB.1" & _
Trang 31";Data Source=" & sServer & " " & _
";Initial Catalog=" & sDSN & " " & _
";User ID=" & sUser & " " & _
";Password=" & sPW & ";"
Nên gọi trong Sub MDIForm_Load():
'Doi voi Access
If Not OpenDataBase("", "QLNS.mdb", "", "") Then End
'Doi voi SQL Server
If Not OpenDataBase("TenMayChu", "QLNS", "sa", "minhdung") Then End
8.2 Thực hiện một truy vấn
8.2.1 Khai báo ở Modul Function
Public Function rstQuery(strSQL As String) As ADODB.Recordset
Dim cmdCommand As New ADODB.Command
Trang 32Public rstTemp As ADODB.Recordset
Set rstTemp = rstQuery("Select * From SinhVien ")
- Nếu muốn hiển thị dữ liệu lên DataGrid
Set Me.dgdSinhVien.DataSource= rstTemp ' rstTemp đã được gán ở lệnh trên
- Hoặc có thể sử dụng trực tiếp:
Set Me.dgdSinhVien.DataSource = rstQuery("Select * From SinhVien ")
Trang 33
3.GIỚi THIỆU Công cụ quản trị cơ sở dữ liệu Microsoft Access 2000.
3.1 Yêu cầu về thiết bị:
Cần một máy tính 486 có bộ nhớ 16 MRAM trở lên có cài đặt MicrosoftAccess 97 hoặc Microsoft Access 2000
3.2 Mô hình dữ liệu của Microsoft Access.
3.2.1 Giới thiệu Microsoft Access:
Microsoft Access là hệ quản trị cơ sở dữ liệu trên môi trờng Windown có sẳncác công cụ hữu hiện và tiện lợi để tự động sinh ra các chơng trình cho hầu hết cácbài toán quản lý, thống kê v.v với Microsoft Access ngời dùng không phải viếtcâu lệnh cụ thể mà chỉ cần tổ chức dữ liệu thiết kế các yêu cầu giải quyết của côngviệc Công cụ mạnh mẽ của Microsoft Access cung cấp tơng tác cơ sở dữ liệu nhbảng truy vấn, khi thực hiện truy vấn sẽ tập hợp đợc kết quả truy vấn hiện lên mànhình
Phần mềm của Microsoft Access kết hợp với công cụ có sẳn làm cho chơngtrình mềm dẽo hơn và hoàn toàn có thể thiết kết, cài đặt các cơ sở dữ liệu cho bàitoán, nó giúp các ứng dụng thông qua hệ quản trị cơ sở dữ liệu Microsoft Access làthành phần đợc sử dụng trong việc xử lý cơ sở dữ liệu quan hệ Microsoft Accesskhá rõ ràng và dễ sử dụng trong việc xử lý dữ liệu kiểu này một cách hiệu quả Lợiích của cơ sở dữ liệu quan hệ chính là ở chỗ chúng ta cần lu trữ các dữ liệu có liênquan đến nhau Những thông tin bổ sung cần thiết sẽ đợc kiến tạo nhờ các tính chấtliên kết giữa các bảng dữ liệu
Trong chơng trình quản lý th viện chúng ta quan tâm đến thông tin tổng hợp
từ nhiều bảng khác nhau muốn đợc thông tin tổng hợp nh vậy chúng ta cần xác
định mối quan hệ giữa các bảng dữ liệu, cách thiết lập mối quan hệ trong
Microsoft Access cung cấp cho ngời sử dụng một cách thuận lợi, nó chophép kết nối các trờng của hai bảng dữ liệu mà còn cho phép quy định khả năngtoàn vẹn dữ liệu của Microsoft Access Đó là khả năng tự động cập nhật hay xoánhững thông tin có liên quan trong cơ sở dữ liệu Nếu ngời dùng cập nhập thông tin
mà vi phạm đến nguyên tắc toàn vẹn dữ liệu thì Microsoft Access sẻ tự động điềuchỉnh để ràng buộc tính toàn vẹn dữ liệu không bị phá vỡ
3.2.2 Giao diện của Microsoft Access :
Cũng nh tất cả các phần mềm chạy trên môi trờng Windown, MicrosoftAccess cung cấp cho ngời sử dụng một môi trờng đồ họa trực quan, giao diện đồhoạ giúp ngời làm việc một cách rõ ràng và tạo một tâm lý thân thiện với ngời sửdụng do cách trình bày bố trí đẹp mắt dễ hiểu, công cụ thiết kế trong th viện củMicrosoft Access cho phép làm việc thuận tiện
Trang 343.2.3 Các thành phần của một cơ sở dữ liệu Microsoft Access:
Microsoft Access cung cấp công cụ mạnh có thể giải quyết hầu hết các vấn đề vềcơ sở dữ liệu nhờ công cụ có sẳn Mỗi cơ sở dữ liệu Microsoft Access gồm 6 thànhphần chính bao gồm: Bảng dữ liệu (Table), Bảng truy vấn (Queries), biểu mẫu(Forms), Báo biểu (Report), Marco và các đơn thể (Module)
định các hình thức biểu diễn dữ liệu và thông báo lỗi khi dữ liệu nhập không đúngqui định Điều này đợc thực hiện khi thiết kế một bảng dữ liệu
Cấu trúc mỗi trờng của một bảng gồm ba phần khi thiết kế và mỗi trờng cóthuộc tính riêng Đó là các tên trờng, kiểu dữ liệu của trờng và phần mô tả dữ liệu
Các thành phần của một cơ sở dữ liệu Microsoft Access gồm;
+ Text : Kiểu chữ tối đa là 255 ký tự
* Tính chất của trờng:
+ File size: kích thớc của trờng đợc tính bằng byte
+ Format: hiển thị kiểu số học và kiểu ngày theo dạng thức
+ Input mask: qui định khung nhập liệu hiển thị các ký tự mà ngời sử dụng
định sẵn trong khuôn mẫu giúp ngời sử dụng không phải đánh vào các ký tự khinhập dữ liệu
+ Decimal places: qui định nhập ký tự thập phân phần lẻ đối với vùng sốhọc
+ Caption: chú giải, qui định một chuỗi ký tự dùng làm nhãn của vùng dữliệu, nhãn này sẽ hiện ra cùng với ô dữ liệu trong báo biểu và biểu mẫu
+ Default value: giá trị mặc nhiên, qui định mặc nhiên để MicrosoftAccess tự động gán cho vùng khi ngời sử dụng thêm một mẩu tin mới vào bảng
+ Validation rule: qui tắc kiểm hợp qui định giới hạn của dữ liệu
Trang 35+Validation text: Văn bản kiểm hợp lệ, nội dung của hông báo khi ngời sửdụng nhập liệu không đúng giới hạn cho phép.
+ Required: nếu chọn Yes ( thì bắt buộc phải nhập vào dữ liệu)
+Allow zerolength: Cho phép chiều dài rỗng, chọn yes nếu trờng hợp chophép giá trị Null đối với vùng kiểu text hoặc Memo
+ Indexed: Vùng chỉ mục
* Cách đặt khoá chính cho bảng
Chọn trờng đợc dùng làm khoá chính rồi chọn Edit – GVHD TS.Lê Ngọc Xuân Set Primary Key.Ngoài cách tạo lập bảng một cách thủ công nh trên thì Microsoft Access còn cungcấp công cụ Table Wizarrd giúp ngời sử dụng tạo một bảng dữ liệu heo sự hớng dẫntừng bớc của công cụ này Tuy nhiên mỗi chơng trình có những yêu cầu riêng, nhất
là tên trờng của bảng, do vậy công cụ ít đợc sử dụng khi tạo lập các bảng Tuynhiên đối với báo biểu hay Biểu mẫu thì công cụ Wizarrd lại rất đợc dùng tới, nhngthờng thì thiết kế với Disgn View
3.2.3.2 Bảng truy vấn (Queries)
* Giới thiệu chung về bảng truy vấn:
Sức mạnh của một hệ quản trị cơ sở dữ liệu là khả năng truy vấn dữ liệu với
điều kiện của ngời dùng một cách nhanh chóng Về điều kiện Microsoft Accesslàm cho ngời sử dụng hài lòng với khả năng kết xuất dữ liệu từ một thành phầnkhác gọi là bảng truy vấn
Việc tạo một bảng truy vấn rất đơn giản và dể hiểu Ta chỉ cho Access lấy dữliệu từ đâu và lấy những gì, Microsoft Access sẽ dựa trên các mối quan hệ đã đợcthiết lập sẳn để rút ra các thông tin mà ngời sử dụng yêu cầu Khi một bảng truyvấn đợc thực hiện xong, những dữ liệu thoả mãn yêu cầu của ngời sử dụng sẽ đợctập hợp trong một bảng dữ liệu gọi là: Dynaset Gọi chúng là những bảng dữ liệu
động vì trên thực tế Dynaset chỉ đợc thực hiện khi ta thực hiện một bảng truy vấn(Run Queries) Những thông tin trong Dynaset thay đổi theo sự thay đổi của thôngtin chứa trong bảng dữ liệu Nhờ sử dụng các bảng truy vấn ta có thể lọc đợc nhữngthông tin cần thiết từ các bảng dữ liệu nguồn Microsoft Access cung cấp cho ngời
sử dụng một số Queries có công dụng và hiệu quả nh sau:
+ Bảng truy vấn lựa chọn: (select query) là bảng truy vấn đợc nhiều ngờidùng nhất Hình thức của nó giống nh một bảng dữ liệu Dữ liệu của bảng truy vấn
đợc lựa chọn từ nhiều bảng khác nhau của cơ sở dữ liệu, ngời sử dụng có thể thamkhảo, phân tích dữ liệu cũng nh điều chỉnh dữ liệu ngay trên bảng truy vấn hay sửdụng bảng truy vấn nh là dữ liệu cơ sở cho một tác vụ khác
+ Bảng truy vấn tham khảo chéo (Crosstab Query): Biểu diễn kết quả truyvấn theo dạng hàng, cột có tiêu đề giống nh một bảng tính Với bảng truy vấn nàyngời sử dụng có thể tổng hợp một số lợng lớn dữ liệu trong bảng dới dạng liệt kê dễtham khảo hơn
Trang 36+ Bảng truy vấn hành động ( Action Query): Bảng truy vấn này giúp ngời sửdụng thực hiện những thay đổi với nhiều mẫu tin cùng một lúc họ cũng có thể sửdụng bảng truy vấn này để tạo một bảng mới, xoá những mẫu tin trong một bảngdữ liệu, sửa đổi hay thêm mới những mẫu tin trong một bảng dữ liệu.
+ Bảng truy vấn hợp nhất (Union Query): Bảng truy vấn này kết hợp nhữngvùng tơng ứng của hai hay nhiều bảng
+ Bảng truy vấn chuyển nhợng (Pacsthrough Query) : Gửi những lệnh tớimột cơ sở dữ liệu SQL
+ Truy vấn khai báo số liệu (Data-Definition Queries): Dùng để tạo, thay đổihoặc xoá những bảng dữ liệu trong một sơ sở dữ liệu của Microsoft Access bằngcách dùng các lênh SQL
Tuy nhiên vì yêu cầu của chơng trình không đòi hỏi những thông tin quáphức tạp hay truy cập dữ liệu từ các cơ sở dữ liệu khác nên trong các cơ sở dữ liệucủa chơng trình quản lý th viện chúng em sử dụng loại truy vấn chọn lựa
* Các công dụng của Query:
Microsoft Access cung cấp cho ngời sử dụng rất nhiều sự uyển chuyển trongviệc tạo lập các bảng truy vấn bằng cách sử dụng bảng truy vấn ngời ta có thể:
+ Lựa chọn các vùng dữ liệu cần thiết: Ngời sử dụng không cần phải baohàm tất cả các vùng của một hay nhiều bảng dữ liệu trong cùng một bảng truy vấn
+ Lựa chọn những mẫu tin: Ngời sử dụng có thể quy định những tiêu chuẩntheo đó chỉ có các mẫu tin thoả mãn các tiêu chuẩn đó mới đợc hiển thị trong bảngkết quả truy vấn (Dynaset), ngời sử dụng có thể tham khảo những mẫu tin theo mộtthứ tự quy định
+ Tham khảo dữ liệu thuộc nhiều bảng dữ liệu khác nhau: Ngời sử dụng cóthể thực hiện việc trả lời một câu hỏi nào đó liên quan đến dữ liệu thuộc nhiều bảngdữ liệu khác nhau và hiển thị kết quả trong Data Sheet Ngời sử dụng cũng có thể
sử dụng hỏi các câu hỏi liên quan đến dữ liệu thuộc một cơ sở dữ liệu khác của cácphần mềm quản trị dữ liệu khác
+ Thực hiện các phép tính: Ngời sử dụng có thể tạo những vùng dữ liệu mớitrong đó chứa kết quả của những phép tính
+ Sử dụng các bảng truy vấn để làm dữ liệu cho các biểu mẫu, báo biểu vàcác bảng truy vấn khác Để lựa chọn những dữ liệu cần thiết cho biểu mẫu hoặc báocáo ngời sử dụng có thể tạo một bảng truy vấn rồi dùng bảng truy vấn này nh mộtbảng dữ liệu cơ sở cho một biểu mẫu hay một báo cáo mà ngời sử dụng sẽ tạo ra
+ Thực hiện những thay đổi trong các bảng dữ liệu ngời sử dụng có thể
đồng thời thực hiện việc cập nhập, xoá, nhập thêm các mẫu tin mới bằng cách dùngmột bảng truy vấn hành động Ngời sử dụng cũng có thể sử dụng một bảng truy vấn
Trang 37kiểu này để tạo một bảng dữ liệu mới trong đó bao hàm những mẫu tin lấy từ mộthay nhiều bảng dữ liệu đã có khác.
* Cách tạo lập một bảng truy vấn trong Microsoft Access
+ Xác định các bảng và các trờng tham gia: Muốn tạo một bảng truy vấn,
đầu tiên ngời sử dụng phải xác định các dữ liệu ra của bảng truy vấn này đợc lấy từ
đâu ? ngời sử dụng sẽ chọn những bảng dữ liệu hoặc những bảng truy vấn khác đểthêm vào cửa sổ thiết kế bảng truy vấn
+ Lập tiêu chuẩn lựa chọn Bảng kết quả truy vấn có thể rất dài và d thừa dữliệu nếu không có những tiêu chuẩn lựa chọn Việc đặt một tiêu chuẩn chọn lựa taphải dùng một biểu thức Biểu thức có thể từ đơn giản đến phức tạp, nó sẽ định ra
điều kiện mà dữ liệu phải thoả mãn mới đợc chọn vào bảng kết quả truy vấn
* Đặt các thuộc tính cho bảng truy vấn:
Microsoft Access cho phép chúng ta thiết lập các thuộc tính cho từng trờngcủa bảng truy vấn cũng nh cho toàn bảng truy vấn Các thuộc tính của từng trờngquy định cách thức trình bày dữ liệu, các thuộc tính Query quy định cách thức hoạt
động của nó
* Thực hiện các phép tính trong bảng truy vấn:
Trong thực tế chúng ta thờng gặp những câu hỏi đặt ra đối với từng nhóm dữliệu Microsoft Access cung cấp cho chúng ta một số phép tính để thực hiện đối vớinhững nhóm mẫu tin bao gồm các hàm sau:
Sum: Tính tổng các giá trị trên một trờng kiểu số
Avg: tính giá trị trung bình của một trờng
Min: Tính giá trị nhỏ nhất của một trờng
Max: Tính giá trị lớn nhất của một trờng
Count: đếm số mẩu tin trong trờng
First: Giá trị của trờng ở mẫu tin đầu tiên
Last: Giá trị của trờng ở mẫu tin cuối cùng
* Sắp xếp các mâu tin theo thứ tự
Qui định các tham số: chức năng này cho phép thay đổi nhiều tiêu chuẩnchọn lựa đối với một vùng Query điều này làm cho việc thiết kế cũng nh sử dụngQuery linh hoạt hơn và thuận tiện hơn, các tham số dựa vào Query là không hạnchế
3.2.3.3 Biểu mẫu (Form) :
* Khái niệm về biểu mẫu trong Microsoft Access
Một yêu cầu không thể thiếu đợc là chơng trình phải có một giao diện đẹp,
dễ sử dụng và dễ hiểu Có thể nối thiết kế giao diện là công việc rất quan trọng liênquan đến thành công hay thất bại của một hệ chơng trình phần mềm Hiện nay xu
Trang 38thế thiết kế các chơng trình phần mềm trên Windows phát triển mạnh Các chơngtrình này nhờ sự hỗ trợ của môi trờng đồ hoạ ngày càng đẹp và thân thiện với ngời
sử dụng hơn
Biểu mẫu là một công việc về dạng thức có thể sử dụng để hiển thị dữ liệutheo cách tổ chức của chúng ngời sử dụng và thuận tiện cho họ trong việc nhận biếtdữ liệu Khi làm việc với các biểu mẫu ngời sử dụng có thể điều chỉnh dữ liệu, xemdữ liệu và in dữ liệu
* Công dụng của các biểu mẫu:
Chơng trình quản lý th viện có mục đích là đa ra những thuận lợi cho việc tracứu đối với ngời sử dụng Để đạt đợc mục đích này chơng trình còn cần những biểumẫu trình bày thông tin một cách khoa học Mỗi biểu mẫu thu nhận những thôngtin từ các bảng nguồn, bảng truy vấn hay các biểu mẫu con và hiển thị lên màn hìnhhay máy in tuỳ theo sở thích của ngời sử dụng Các biểu mẫu trong MicrosoftAccess rất linh hoạt dễ cập nhập, xem, chỉnh , sửa và in ấn
Trong môi trờng Microsoft Access chúng ta có thể thiết kế biểu mẫu dớinhiều hình thức: Văn bản , hình ảnh, đồ thị…, với những đờng nét và màu sắc tuỳchọn Thông tin đa ra cũng có thể đợc chọn lọc hay đa ra theo một thứ tự tuỳ ý.Biểu mẫu trong Microsoft Access có rất nhiều công dụng
+ Biểu mẫu cung cấp khả năng tiện lợi cho ngời sử dụng để quan sát dữ liệu.Chúng ta có thể xem xét hông tin của biểu mẫu dới nhiều hình thức khác nhau Đó
có thể là dạng Form View để xem từng bản ghi một cách riêng rẽ hoặc dạngDataSheet để xem xét tất cả những bản ghi của biểu mẫu đó
+ Sử dụng các biểu mẫu để giảm bớt thời gian cũng nh sự phức tạp khi nhậpdữ liệu Chúng ta cũng có thể sử dụng danh sách thả xuông (ComboBox) để tăng c-ờng khả năng nhập liệu Những hộp Combo cho phép chúng ta tập hợp những thôngtin có sẵn, giúp giảm bớt thời gian cũng nh tăng tốc độ chính xác khi cùng một giátrị của thông tin đợc lặp đi lặp lại nhiều lần
+ Biểu mẫu còn cung cấp các ô điều khiển tính toán giúp chúng ta trong việctổng hợp thông tin
* Các đối tợng đợc sử dụng trong biểu mẫu:
Các đối tợng dùng trong biểu mẫu rất đa dạng chúng có thể là các ô điềukhiển nh Text Box, Label, Combo Box, Option Button, các hình ảnh, đồ hoạ v.v
Các ô điều khiển trong Microsoft Access có thể thuộc loại Unbound Controlhoặc Bound Control
Unbound Control là những đối tợng không gắn với môi trờng nào trong cácbảng dữ liệu hoặc truy vấn
Chúng ta xem sét nhng đối tợng đợc sử dụng nhiều nhất trong biểu mẫu
Trang 39+ Các hộp văn bản (Text Box): Có thể dùng để trình bày tên, địa chỉ hay cácthuộc tính cá nhân khác của danh mục sách, nh vậy hộp văn bản này là nhữngBound Control vì chúng đợc gắn với những trờng đã tồn tại trong các bảng dữ liệuhay truy vấn.
+ Các nhãn (Label) dùng để trang trí biểu mẫu hiển thị các dòng chữ miêu tả
nh tiêu đề , chú giải hay những thông tin khác trong biểu mẫu Ô nhãn luôn luôn làUnbound Control và giá trị của nó luôn luôn không thay đổi
+Các hình ảnh đồ hoạ: (bound control) hay những hình ảnh để trang trí biểumẫu
+ Các hộp Combo và hộp danh sách: thờng dùng để chứa một giá trị của mộttrờng nào đó có ít giá trị giúp cho việc nhập dữ liệu nhanh chóng chính xác
+ Các nút chọn: có thể là chọn một vài giá trị hoặc chỉ là một trong số cácgiá trị đa ra
+ Các nút lệnh: Các nút lệnh là khi có một biến cố xảy ra trên nó thì nó sẽthực hiện một sự kiện để đáp ứng biến cố đó Các biến cố có thể bấm nút chuột mộtlần, bấm đúp chuột, di chuột, bấm vào các phím Short cut… các dữ kiện có thể xảy
ra rất nhiều loại nh mở một số biểu mẫu thực hiện Macro, Query
+ Subform (biểu mẫu phụ): Thực chất đây là một phơng pháp đa dữ liệu từnhiều bảng có quan hệ với bảng dữ liệu nguồn của biểu mẫu chính Phơng pháp này
đặc biệt có hiệu quả khi dùng kết nối dữ liệu của các bảng có quan hệ Một – GVHD TS.Lê Ngọc XuânNhiều Thông tin ở phía bên một sẽ đợc đa vào biểu mẫu chính và thông tin ở phíabên nhiều sẽ đợc vào biểu mẫu phụ Nh vậy khi hiển thị biểu mẫu ở dạngFormview thì những thông tin ở phía nhiều sẽ có quan hệ với mẫu tin tơng ứng củaphía bên một sẽ đợc trình bày Điều này rất thuận tiện để kết nối dữ liệu Chẳnghạn khi xem toàn bộ quá trình quản lý danh mục sách nào đó thì chỉ cần đa ra cácthông tin liên quan tới danh mục sách đó vào biểu mẫu chính, còn các thông tin vềnguồn cung cấp , nhà xuất bản đợc đa vào biểu mẫu phụ Việc thiết kế biểu mẫuphụ cũng tơng đơng với việc thiết kế một biểu mẫu chính Nguồn dữ liệu thuộc cácbiểu mẫu phụ này là bảng dữ liệu hoặc bảng truy vấn Và để có thể xem tất cả cácthông tin liên quan đến thông tin ở biểu mẫu chính chúng ta có thể thiết kế biểumẫu phụ ở dạng DataSheet Chúng ta cũng phải chỉ ra trờng kết nối ở các mục tínhchất LinK ChildField (của biểu mẫu phụ) và Link MaterField (của biểu mẫuchính)
Trên đây là những đối tợng biểu mẫu chủ yếu đợc dùng trong chơng trình.Ngoài ra còn một vài đối tợng khác nh hình vẽ hộp kiểm tra (Chek Box)… Tuynhiên chúng ít đợc sử dụng và cũng không phức tạp nên không trình bày ra đây
* Đặt thuộc tính cho các đối tợng của các biểu mẫu:
Trang 40Khi thiết kế một biểu mẫu thì việc cài đặt tính chất cho các đối tợng biểumẫu là quan trọng Có rất nhiều tính chất đặc trng cho từng đối tợng, nhng chúng tacần xem xét một vài tính chất thờng dùng nhất:
Đặt Font: Đối với các hộp văn bản các nhãn…
Đặt màu chữ, màu nền của đối tợng, của biểu mẫu, rất quan trọng trong việcdùng biểu mẫu làm giao diện với ngời dùng
Đặt tên đối tợng: tên này dùng để làm tham chiếu đến các đối tợng trong cácModul chơng trình
Chỉ ra nguồn dữ liệu cho ACCESS biết đối tợng này lấy ra từ đâu?
Quy định cho biết có thể chỉnh sửa hay không?
3.2.3.4 Báo biểu (Report):
- Các khái niệm về báo biểu và công dụng của nó:
Ngoài việc sử dụng biểu mẫu dùng để trình bày dữ liệu, ACCESS còn cungcấp một đối tợng khác rất thích hợp cho việc tạo các bản báo cáo có dữ liệu là cácbáo biểu ( Report) công cụ này tạo nhiều khả năng linh hoạt và đặc biệt thuận tiệntrong công tác tạo và in ấn các bản báo cáo, bảng tổng kết
Trong một báo biểu ngời sử dụng có thể tổ chức thông tin, quy định dạngthức in sao cho phù hợp với yêu cầu về thông tin cũng nh mỹ quan của ngời sửdụng Ngời sử dụng cũng có thể dùng nhiều thành phần thông tin khác nhau đểthiết kế bảng báo biểu của mình, chẳng hạn nh: chữ số, hình ảnh, đồ thị và nhữngtrang trí khác
Khi sử dụng Microsoft ACCESS ngời sử dụng có thể dùng báo biểu để:
+ Tổ chức và trình bày dữ liệu theo từng nhóm
+ Tính toán cộng trừ nhóm hoặc tổng các tính toán khác
+ Bao hàm biểu mẫu, báo biểu con, đồ thị trong báo biểu
+ Trình bày dữ liệu dới dạng hấp dẫn hơn
Trong báo biểu dữ liệu có thể đợc lấy từ những bảng dữ liệu hoặc bảng truyvấn Dữ liệu cũng có thể đợc tạo ra bởi những quy định tính toán Đặc biệt công cụReport Winzard giúp cho ngời sử dụng một vài dạng chuẩn để hiển thị dữ liệu Tấtnhiên ngời sử dụng hoàn toàn có thể tự tạo một báo biểu theo cách riêng của ngời
sử dụng, nhng thông thờng nên dùng công cụ này trớc rồi sau đó sửa lại theo ýmình, nh vậy sẽ tiết kiệm rất nhiều thời gian và công sức
- Các đối tợng trong báo biểu
Các đối tợng điều khiển trong báo biều cũng tơng tự nh trong biểu mẫu
3.2.3.5 Macro :
* Khái niêm và công cụ Macro: