Cấu trúc lệnh Visual Basic for Application

Một phần của tài liệu Sử dụng MS access và vba để xây dựng phần mềm ''tra cứu kiến thức hoá học'' hỗ trợ cho việc dạy và học hoá học (Trang 47)

7. Đóng góp của đề tài

2.3. Cấu trúc lệnh Visual Basic for Application

2.3.1. Thêm mới dữ liệu

+ Là lệnh dùng để gọi ra một record mới trong bảng biểu đang sử dụng nhằm mục đích thêm mới dữ liệu vào bảng biểu (dữ liệu chưa được lưu).

+ Đặc điểm: Thông thường, các dữ liệu thường được nhập vào các textbox trống dữ liệu dưới sự điều khiển của nút lệnh vì lúc này đã nhảy tới record mới.

+ Cấu trúc lệnh:

Private Sub cmdnew_Click()

If Not IsNull(khhh) Then ‘kiểm tra textbox khhh có trống hay không’ DoCmd.RunCommand acCmdRecordsGoToNew

‘nhảy tới một record mới’ End If

cmdsave.Enabled = True ‘hiện nút Save’ cmdundo.Enabled = True ‘hiện nút Undo’ cmdnew.Enabled = False ‘ẩn nút New’ cmdedit.Enabled = False ‘ẩn nút Edit’ cmddelete.Enabled = False ‘ẩn nút Delete’ cmdclose.Enabled = False ‘ẩn nút Close’ End Sub

+ Là lệnh dùng để gọi ra một record đã có sẵn cần sửa đổi dữ liệu đã có trong bảng biểu (dữ liệu chưa được lưu).

+ Đặc điểm: Sau khi điều khiển bởi nút lệnh, thì các textbox chứa dữ liệu cần sửa sẽ hiện ra dữ liệu cũ cho mình chỉnh sửa chứ không phải là dữ liệu trắng như khi thêm mới dữ liệu.

+ Cấu trúc lệnh:

Private Sub cmdEdit_Click() If IsNull(khhh) Then

If MsgBox("Bạn chưa chọn nơi cần sửa chữa", vbCritical,“Cảnh báo")=vbOK Then

Exit Sub End If End If

cmdsave.Enabled = True ‘hiện nút Save’ cmdundo.Enabled = True ‘hiện nút Undo’ cmdnew.Enabled = False ‘ẩn nút New’ cmdedit.Enabled = False ‘ẩn nút Edit’ cmddelete.Enabled = False ‘ẩn nút Delete’ cmdclose.Enabled = False ‘ẩn nút Close’ End Sub

2.3.3. Lưu dữ liệu

+ Là lệnh dùng để lưu dữ liệu đã được thêm mới hay chỉnh sửa vào bảng biểu sau khi đã thực hiện thao tác với các nút lệnh thêm mới (New) và chỉnh sửa (Edit).

+ Cấu trúc lệnh:

Private Sub cmdsave_click() If IsNull(khhh) Then

End If

On Error GoTo errSaveClick

DoCmd.RunCommand acCmdSaveRecord ‘lưu dữ liệu vào record hiện thời’

cmdsave.Enabled = True ‘hiện nút Save’ cmdundo.Enabled = False ‘ẩn nút Undo’ cmdnew.Enabled = True ‘hiện nút New’ cmdedit.Enabled = True ‘hiện nút Edit’ cmddelete.Enabled = True ‘hiện nút Delete’ cmdclose.Enabled = False ‘ẩn nút Close’ exitSaveClick: Exit Sub errSaveClick: Resume exitSaveClick End Sub 2.3.4. Xoá dữ liệu

+ Là lệnh dùng để xoá dữ liệu ở bảng ghi đang chọn. Thông thường khi thực hiện lệnh xoá dữ liệu thì người ta thường có một cảnh báo nhắc nhở lại là có xoá dữ liệu hay không.

+ Cấu trúc lệnh:

Private Sub cmddelete_click() If IsNull(khhh) Then

If MsgBox("Bạn chưa chọn nội dung cần xoá", vbCritical, "Cảnh báo") = vbOK Then

‘Hiện ra bảng thông báo nếu mình chưa chọn bảng ghi cần xoá’ Exit Sub

End If End If

If MsgBox("Có thật sự bạn muốn xoá không?", vbYesNo + vbQuestion + vbDefaultButton2, "Xác nhận xoá dữ liệu") = vbYes then

‘hiện ra bảng thông báo hỏi có thực hiện thao tác xoá dữ liệu hay không’ DoCmd.RunCommand acCmdDeleteRecord

‘thực hiện lệnh xoá record hiện thời’ End If

End Sub

2.3.5. Huỷ thao tác hiện hành

+ Là lệnh được dùng để huỷ một số thao tác lệnh trước đó như lệnh thêm mới, lệnh sửa sai. Những dữ liệu mới hay đã thay đổi không được lưu vào bảng ghi.

+ Cấu trúc lệnh:

Private Sub cmdundo_Click() On Error Resume Next

DoCmd.RunCommand acCmdUndo ‘huỷ các thao tác trước đó’ On Error GoTo 0 ‘trả lại giá trị của record ban đầu’ cmdnew.Enabled = True ‘hiện nút new’

cmdedit.Enabled = True ‘hiện nút edit’ cmddelete.Enabled = True ‘hiện nút delete’ cmdclose.Enabled = True ‘hiện nút close’ cmdsave.Enabled = False ‘ẩn nút save’ cmdundo.Enabled = False ‘ẩn nút undo’ End Sub

2.3.6. Tắt form

+ Là lệnh dùng để thoát form hiện thời và trở về một form mới. + Cấu trúc lệnh:

Private Sub cmdClose_click()

DoCmd.OpenForm "main" ‘mở form mới có tên là main’ End Sub

+ Với trường hợp này thì ta cũng có thể dùng macro cũng được, đối với macro ta thực hiện như sau:

Action Arguments

Close tên form hiện thời

Openform Tên form cần mở

2.3.7. In dữ liệu từ một report

+ Là lệnh thực hiện mở và in dữ liệu từ một report nào đó. + Cấu trúc lệnh:

Private Sub cmdprint_Click()

DoCmd.OpenReport "reportdonchat" ‘mở và in reportdonchat’ End Sub

+ Với trường hợp này thì ta cũng có thể dùng macro cũng được, đối với macro ta thực hiện như sau:

Action Arguments

OpenReport Tên của report cần mở

2.3.8. Thoát chương trình

+ Là lệnh thực hiện tắt toàn bộ các thành phần của CSDL để thoát ra ngoài một cách hoàn toàn. Thông thường khi thực hiện lệnh, người ta hỏi có thực sự muốn thoát hay không.

+ Cấu trúc lệnh:

Private Sub exit_Click()

If MsgBox("Bạn muốn thoát phải không?", vbYesNo + vbQuestion + vbDefaultButton2, "Cảnh báo") = vbYes

‘hiện ra bảng thông báo hỏi có thực hiện lệnh thoát chương trình hay không’ Then

End If End Sub

+ Với trường hợp này thì ta cũng có thể dùng macro cũng được, đối với macro ta thực hiện như sau:

Action Arguments

Quit Save All

2.4. CÁC PHIÊN BẢN CỦA MS.ACCESS

Cho đến nay, MS.Access đã có tới 9 phiên bản chính thức và một phiên bản đang trong quá trình thử nghiệm.

Bảng 2.2. Các phiên bản chính thức của MS.Access Năm Phiên bản Số hiệu

phiên bản

Dùng với

hệ điều hành Bộ ứng dụng Office

1992 Access 1.1 1 Windows 3.00

1993 Access 2.0 2.0 Windows 3.1x Office 4.3 Pro 1995 Access for

Windows 95 7.0 Windows 95 Office 95 Professional 1997 Access 97 8.0 Windows 9x, NT 3.51/4.0 Office 97 Professional and Developer 1999 Access 2000 9.0 Windows 9x, NT 4.0, 2000 Office 2000 Professional, Premium and Developer 2001 Access 2002 10 Windows 98, Me,

2000, XP Office XP Professional and Developer 2003 Access 2003 11 Windows 2000, XP,Vista Office 2003 Professional and Professional Enterprise 2007 MS.Office Access 2007 12 Windows XP SP2, Vista Office 2007 Professional, Professional Plus,

Ultimate and Enterprise 2010 MS.Office Access 2010 14 Windows XP SP2,XP SP3, Server 2008,... Office 2010 Professional, Professional Plus, Ultimate and Enterprise

2.5. Ứng dụng MS. Access vào việc tạo các chương trình có ứng dụng trong ngành giáo dục

2.5.1. Các chương trình ứng dụng trong dạy và học

2.5.1.1. Chương trình tra cứu nhanh phản ứng hoá học

+ Đây là một chương trình giúp GV, HS có thể tự tra cứu nhanh phản ứng hoá học thay cho việc phải tra cứu trong các tài liệu hoá học, mất rất nhiều thời gian trong việc tìm kiếm.

Hình 2.16. Chương trình “Tra cứu nhanh phản ứng hóa học”

+ Chương trình được viết bằng MS.Access và VBA.

2.5.1.2. Chương trình tra cứu kiến thức hoá học

Đây là một phiên bản mới của chương trình tra cứu nhanh phản ứng hoá học, vì ngoài việc tra cứu nhanh phản ứng hoá học thì chương trình còn có thể cung cấp thêm nhiều dữ kiện khác mà chương trình trước đó không có (được làm rõ ở chương 3 và chương 4 của luận văn).

+ Là chương trình giúp người sử dụng tra cứu các kiến thức về hoá học, từ định nghĩa, khái niệm, đến tính chất, ứng dụng…về hoá học.

Hình 2.17a. Chương trình “Từ điển hóa học”

Hình 2.17b. Chương trình “Từ điển hóa học”

+ Chương trình được viết bằng MS.VB 6.0.

2.5.1.4. Chương trình chấm trắc nghiệm

+ Là chương trình chấm trắc nghiệm bằng máy vi tính thay cho việc dùng đáp án soi từng bài của HS. Với chương trình, người chấm chỉ cần nhập bài làm của các em HS bằng các chữ số 1, 2, 3, 4 thay vì phải nhập A, B, C, D. Sau đó chương trình sẽ xuất ra kết quả điểm của cả lớp theo vần chữ cái ABC.

Hình 2.18. Chương trình “Chấm trắc nghiệm”

+ Chương trình được viết bằng MS.Excel và VBA.

2.5.1.5. Chương trình lịch công tác-lịch báo giảng tự động

(Là chương trình được tạo bởi nhóm GV trong quá trình TN sư phạm)

+ Là chương trình quản lý và xuất lịch báo giảng cho GV thay cho việc phải viết tay và thực hiện thao tác lặp đi lặp lại. Với chương trình, GV chỉ cần nhập thời khoá biểu một lần, các tuần tiếp theo nó sẽ tự động lặp lại cho mình đến khi thay thời khoá biểu mới.

Hình 2.19. Chương trình “Lịch công tác-Lịch báo giảng tự động”

+ Chương trình được viết bằng MS.Excell và VBA.

2.5.2. Các chương trình ứng dụng cho GV chủ nhiệm

2.5.2.1. Chương trình quản lý HS-Tiện ích GV chủ nhiệm

(Là chương trình được tạo bởi nhóm GV trong quá trình TN sư phạm)

+ Là chương trình trợ giúp cho GV chủ nhiệm trong trong việc quản lý lớp từ điểm học (thông qua điểm thành phần từ các môn học), hạnh kiểm đến các khoản thu đồng thời qua chương trình có thể in thông báo cho phụ huynh về quá trình rèn luyện của con em mình.

Hình 2.20. Chương trình “Quản lý học sinh”

+ Chương trình được viết bằng MS.Access và VBA.

2.5.2.2. Chương trình quản lý điểm-Tiện ích GV chủ nhiệm

chương trình có tính năng tính điểm học tập của HS và từ đó tự xuất ra báo cáo chi tiết về HS được tiên tiến, HS giỏi, thi lại, ở lại hay rèn luyện trong hè cho nhà trường thay cho việc phải viết tay mất rất nhiều thời gian.

Hình 2.21. Chương trình

“Quản lý điểm-Tiện ích giáo viên chủ nhiệm”

+ Chương trình được viết bằng MS.Excell, VBA và A-Tool

Hình 2.22. Chương trình “Quản lý điểm”

2.5.3. Chương trình ứng dụng cho quản lý: Chương trình quản lý thư viện

+ Là chương trình quản lý kho sách, tài liệu trong kho sách và lịch sử mượn trả sách của GV và HS.

Hình 2.23. Chương trình “Quản lý thư viện”

+ Chương trình được viết bằng MS.Access và VBA.

2.5.4. Kết luận

Trên đây là một số chương trình mà bản thân đã tạo được trong quá trình học tập và công tác. Ngoài ra còn nhiều chương trình có nhiều ứng dụng thực tiễn cho ngành giáo dục của một số tác giả khác tạo ra bằng VB, trong đó điển hình phải kể điến là “Chương trình kiểm tra trắc nghiệm”. Với chương trình này:

+ GV có thể tiến hành cho HS test trong các bài học đặc biệt là các tiết ôn tập và luyện tập.

+ Nhà trường có thể tiến hành kiểm tra với số lượng lớn HS bằng máy tính.

+ HS có thể tự test ở nhà nhằm rèn luyện kiến thức và kỹ năng làm bài của mình làm hành trang cho các kì thi

Hình 2.24. Chương trình “Tester”

+ Chương trình được viết bằng MS.VB 6.0. + Tác giả là: Nguyễn Duy Khanh và nhóm IVB.

+ Qua đó tôi thiết nghĩ nếu có tâm huyết, ý tưởng và niềm tin, thì tất thảy mọi người đều có thể làm được các chương trình cho riêng mình, phục vụ cho ngành giáo dục, cho bản thân mình. Minh chứng cụ thể là nhóm GV TN sư phạm đã làm được khi họ được lĩnh hội về cơ sở lý thuyết của các chương trình để thực hiện ý tưởng của mình.

CHƯƠNG 3. SỬ DỤNG PHẦN MỀM TRA CỨU KIẾN THỨC HOÁ HỌC TRONG VIỆC DẠY VÀ HỌC HOÁ HỌC

3.1. Xây dựng phần mềm tra cứu kiến thức hoá học3.1.1. Xây dựng bảng CSDL 3.1.1. Xây dựng bảng CSDL

Bảng 3.1. Cấu trúc bảng dữ liệu cho TableData

Field Name Data Type Chú thích

STT AutoNumber Số thứ tự tự động

Ten Text Chuỗi kí tự

Chứa dữ liệu về tên tiếng Anh của nguyên tố.

Tenvn Text Chuỗi kí tự

Chứa dữ liệu về tên tiếng Việt của nguyên tố.

Khhh Text Chuỗi kí tự

Chứa dữ liệu về kí hiệu hoá học của nguyên tố.

Nhom Text Chuỗi kí tự

Chứa dữ liệu về số nhóm của nguyên tố. Data OLE Object Kiểu dữ liệu nhúng chứa dữ liệu ở dạng Word

Chứa thông tin về nguyên tố

Anh1 OLE Object Kiểu dữ liệu nhúng chứa dữ liệu ở dạng Paint Chứa file ảnh về nguyên tố.

Anh2 OLE Object Kiểu dữ liệu nhúng chứa dữ liệu ở dạng Paint Chứa file ảnh về nguyên tố.

Anh3 OLE Object Kiểu dữ liệu nhúng chứa dữ liệu ở dạng Paint Chứa file ảnh về nguyên tố.

Anh4 OLE Object Kiểu dữ liệu nhúng chứa dữ liệu ở dạng Paint Chứa file ảnh về nguyên tố.

Bảng 3.2. Cấu trúc bảng dữ liệu cho TableHopchat

Field Name Data Type Chú thích

ID AutoNumber Số thứ tự tự động

ctpt Text Chuỗi kí tự

chất

Data OLE Object Kiểu dữ liệu nhúng chứa dữ liệu ở dạng Word Chứa thông tin về hợp chất.

Bảng 3.3. Cấu trúc bảng dữ liệu cho TableBaitap

Field Name Data Type Chú thích

STT AutoNumber Số thứ tự tự động

dang Text Chuỗi kí tự

Chứa dữ liệu về tên dạng bài tập.

baitap OLE Object Kiểu dữ liệu nhúng chứa dữ liệu ở dạng Word Chứa dữ liệu về các bài tập.

Da Text Chứa các đáp án của dạng bài tập

Bảng 3.4. Cấu trúc bảng dữ liệu cho TableDongvi

Field Name Data Type Chú thích

TT AutoNumber Số thứ tự tự động

khhh Text Chuỗi kí tự

Chứa dữ liệu về kí hiệu hoá học của nguyên tố.

Dv Text Chuỗi kí tự

Chứa dữ liệu về số khối của nguyên tố.

Sl Text Chuỗi kí tự

Chứa dữ liệu về hàm lượng của đồng vị

Bảng 3.5. Cấu trúc bảng dữ liệu cho TableThinghiem

Field Name Data Type Chú thích

tentn Text Chuỗi kí tự

Chứa dữ liệu về tên của thí nghiệm.

tn hyperlink Siêu liên kết

Chứa đường dẫn tới file phim thí nghiệm.

Bảng 3.6. Cấu trúc bảng dữ liệu cho TableNhietdong

Field Name Data Type

CT text Chuỗi kí tự

Chứa dữ liệu về kí hiệu hoá học của các chất.

TT Text Chuỗi kí tự

Chứa dữ liệu về trạng thái của các chất.

H text Chuỗi kí tự

Chứa dữ liệu về giá trị ΔH0S của các chất.

S Text Chuỗi kí tự

Chứa dữ liệu về giá trị ΔS0 của các chất.

Bảng 3.7. Cấu trúc bảng dữ liệu cho TableKa

Field Name Data Type Chú thích

ID AutoNumber Số thứ tự tự động

CT text Chuỗi kí tự

Chứa dữ liệu về kí hiệu hoá học của các chất.

Ka Text Chuỗi kí tự

Chứa dữ liệu về hằng số Ka của các chất.

Bảng 3.8. Cấu trúc bảng dữ liệu cho TableThetieuchuan

Field Name Data Type Chú thích

ID AutoNumber Số thứ tự tự động

pt text Chuỗi kí tự

Chứa dữ liệu về cặp oxi hoá-khử.

E Text Chuỗi kí tự

Chứa dữ liệu về giá trị thế điện cực tiêu chuẩn.

Bảng 3.9. Cấu trúc bảng dữ liệu cho TableTichsotan

Field Name Data Type

ID AutoNumber Số thứ tự tự động

CT text Chuỗi kí tự

Chứa dữ liệu về kí hiệu hoá học của các chất.

T Text Chuỗi kí tự

Bảng 3.10. Cấu trúc bảng dữ liệu cho TableUser

Field Name Data Type Chú thích

Username Text Chuỗi kí tự

Chứa dữ liệu về tên người sử dụng.

password text Chuỗi kí tự

Chứa dữ liệu về mật khẩu người sử dụng.

3.1.2. Xây dựng các Query

3.1.2.1. QryBaitap

+ Cửa sổ thiết kế truy vấn: Bảng dữ liệu nguồn là TableBaitap. + Criteria: [forms]![baitap].[text4]

Hình 3.1. Cửa sổ Query Design của QryBaitap

+ Chức năng: Dùng để lấy dữ liệu của record trong TableBaitap có số thứ tự (STT) bằng giá trị của textbox4 trong formBaitap. Lúc đó ta kích chuột vào nguyên tố nào thì toàn bộ dữ liệu của nguyên tố đó sẽ được truy vấn ra và hiển thị ở ReportBaitap và FormBaitap_con, các nguyên tố khác thì không.

3.1.2.2. QryData

+ Cửa sổ thiết kế truy vấn: Bảng dữ liệu nguồn là TableData. + Criteria: [forms]![donchat].[text4]

Hình 3.2. Cửa sổ Query Design của QryData

+ Chức năng: Dùng để lấy dữ liệu của record trong TableData có số thứ tự (STT) bằng giá trị của textbox4 trong formDonchat. Lúc đó ta kích chuột vào nguyên tố nào thì toàn bộ dữ liệu của nguyên tố đó sẽ được truy vấn ra và hiện thị ở ReportDonchat và FormDonchat_con, các nguyên tố khác thì không.

3.1.2.3. QryDonchat

+ Cửa sổ thiết kế truy vấn: Bảng dữ liệu nguồn là TableData. + Criteria: [forms]![main].[goi]

Hình 3.3. Cửa sổ Query Design của QryDonchat

+ Chức năng: Dùng để lấy dữ liệu của record trong TableData có số thứ tự (STT) bằng giá trị của TextboxGoi trong formMain. Khi ta chỉ chuột vào nguyên tố nào ở formMain thì giá trị của Gọi sẽ là số thứ tự của nguyên tố đó.

Lúc đó thì toàn bộ dữ liệu của nguyên tố sẽ được truy vấn ra và hiện thị ở ReportDonchat1 và các form bao gồm Formcon, Formcona, Formconb và formdongvi, các nguyên tố khác thì không.

3.1.2.4. QryHopchat

+ Cửa sổ thiết kế truy vấn: Bảng dữ liệu nguồn là TableHopchat. + Criteria: [forms]![hopchat].[text4]

Hình 3.4. Cửa sổ Query Design của Qryhopchat

+ Chức năng: Dùng để lấy dữ liệu của record trong TableHopchat có số thứ tự (ID) bằng giá trị của textbox4 trong formHopchat. Lúc đó ta kích chuột vào hợp chất nào thì toàn bộ dữ liệu của hợp chất đó sẽ được truy vấn ra và

Một phần của tài liệu Sử dụng MS access và vba để xây dựng phần mềm ''tra cứu kiến thức hoá học'' hỗ trợ cho việc dạy và học hoá học (Trang 47)

Tải bản đầy đủ (DOC)

(135 trang)
w