Quản lý vật t, thiết bịThiết kế giao diện ngời máy 5.1 Lập trình thực nghiệm 5.1.1 Giới thiệu về Microsoft Access Việc sử dụng ngôn ngữ lập trình phù hợp với mô hình thiết kế đóngvai t
Trang 1Quản lý vật t, thiết bị
Thiết kế giao diện ngời máy
5.1 Lập trình thực nghiệm
5.1.1 Giới thiệu về Microsoft Access
Việc sử dụng ngôn ngữ lập trình phù hợp với mô hình thiết kế đóngvai trò quan trọng trong sự thành công của chơng trình Việc chọn ngônngữ dựa trên nhiều yếu tố khác nhau từ cấu trúc của mô hình, đồng thờicũng từ tác động của bên ngoài nh mô hình nghiệp vụ của ngời quản lý,thói quen của ngời sử dụng, độ thuận tiện… với khả năng săn có của với khả năng săn có củaAccess và kết hợp với VBA là ngôn ngữ lập trình cơ sở dữ liệu nó có khảnăng đáp ứng đầy đủ yêu cầu của ngời sử dụng
5.1.2 Giới thiệu về các thành phần của Access
Trớc tiên ta nên định nghĩa cơ sở dữ liệu là gì ? Cơ sở dữ liệu là tậphợp những số liệu liên quan đến một chủ đề hay một mục đích quản lý khaithác nào đó, trong cơ sở dữ liệu ngoài các Table chứa những số liệu, còn cónhững thứ khác cụ thể nh những Query (bảng truy vấn), những Form (mẫubiểu), những Report (báo biểu), những Macro (lịnh ngầm), và nhữngModule (đơn thể lập trình) giúp ta quản lý và khai thác số liệu Do đó, ta cóthể tạo một ứng dụng cơ sở dữ liệu Access hoàn chỉnh lu trữ trong chỉ mộttập tin mdb
Một cách tổng quát, một cơ sở dữ liệu của Microsoft Access bao gồmcác thành phần dới đây :
1.Table : Bảng dữ liệu
Là thành phần cơ bản quan trọng của Cơ Sở Dữ Liệu, nó dùng để ghinhận các số liệu cơ sở, cần thiết của Cơ Sở Dữ Liệu Có thể nói tất cả quátrình xử lý dữ liệu đều dựa trên cơ sở các dữ liệu thô đợc lu trữ trong cáctable
Trong 1 table số liệu đợc tổ chức thành các cột (fields or columns) và dòng(records) Mỗi cột ứng với một mục dữ liệu cần lu trữ Mỗi dòng chứa dữliệu về một ngời hay vật cụ thể mà ta cần lu trữ Khi thiết kế các cột chotable, ta có thể ràng buộc điều kiện để Access kiểm tra các record nhập vàokhông bị sai sót
Chính nhờ những table này mà ta xây dựng nên đợc những mối quan
hệ trong hệ thống (relationship)
2.Query : Bảng truy vấn
Query là công cụ dùng để tính tóan và xử lý dữ liệu từ các table vàcác query khác có sẵn trong Cơ Sở Dữ Liệu
Dạng Query thờng đợc sử dụng nhiều nhất là Select Query Bằng lọaiQuery này ta có thể lọc ra những thông tin cần quan tâm từ nhiều bảng dữliệu khác nhau của cơ sở dữ liệu, có thể phân tích và hiệu chỉnh dữ liệungay trên bản thân Query hay sửdụng làm cơ sở cho công việc khác
Ngoài ra còn có các lọai Query khác nh Update Query để cập nhật,chỉnh sữa dữ liệu cho table, Crosstab Query tổng hợp số liệu, Make TableQuery nhằm phục hồi dữ liệu nếu có sơ sót xảy ra cho table Ráp nối dữliệu vào table có Append Query, xóa dữ liệu Delete Query … với khả năng săn có của Query nh làmột nền tảng để tạo ra các báo biểu có đặc tính định dạng cao hơn Table
3.Form : mẫu biểu
Không thể thiếu đợc trong Access, là phần hiển thị ra bên ngòai dànhcho ngời sử dụng Điểm nổi bật là có thể thiết kế Form thật đẹp và tiện
Đồ án tốt nghiệp KTV Giáo viên hớng dẫn: Lê Huy Thập 1
Trang 2Trong Form Access hỗ trợ tất cả những công cụ cần thiết trongToolbox nhằm trợ giúp ta tạo đợc một Form thân thiện nhất cho ngời sửdụng.
Vd : Command Button tạo các nút bấm cho Form
Combo Box tạo ra danh sách cho ta chọn
Các List Box, Check Box … với khả năng săn có của
Đặc biệt có Control Wizards hỗ trợ cho ta rất nhiều
4.Report : Báo biểu
Là đầu ra của Access Dùng để in ấn hay thể hiện các báo biểu cónguồn gốc từ các Table hay từ kết quả của Query dới nhiều hình thức trìnhbày phong phú, đẹp mắt
5.Macro : Lệnh ngầm
Là một tập hợp các lệnh đợc chọn, sắp xếp hợp lý cho việc tự độnghóa các thao tác Macro của Access đợc xem nh một công cụ lập trình đơngiản giúp cho công việc quản lý số liệu trở thành linh hoạt
6.Module : Đơn thể
Là phơng tiện lập trình trong Access với ngôn ngữ lập trình AccessBasic Nhờ mã Access VBA bạn có thể tạo các ứng dụng cơ sở dữ liệu hoànchỉnh có các lệnh đơn, thanh công cụ tùy biến, và các tính năng khác MãAccess VBA cho phép điều khiển theo lập trình nhiều tác vụ và tùy chọn cơ
sở dữ liệu mà bạn không thể điều khiển bằng Macro
5.1.3 dao-data access object
Là th viện DLL cung cấp các chức năng (function, class) để truy cập
đến cơ sở dữ liệu, ngoài ra DAO còn là ACTIVE DLL và đợc sử dụng tronglập trình web
Th viện DAO đợc sử dụng cho tất cả các ngôn ngữ lập trình trongwindows nh VB, C++ đặc biệt là Micosoft access
5.2 Hớng dẫn sử dụng
5.2.1 Hớng dẫn sử dụng chơng trình
Khi khởi động chơng trình sẽ xuất hiện form login, Kiểm tra username và password truy nhập hệ thống Nếu đúng username và password thì
sẽ cho vào còn không thì cảnh báo Sau 3 lần đăng nhập thất bại chơng trình
sẽ tự động tắt Sau khi đăng nhập thành công bạn sẽ sử dụng hệ thống menucủa trơng trình Để cung cấp quyền user bạn cần vào mục cập nhập quyềnuser với quyền admin Chơng trình cho phép thay đổi mật mã admin (nếubạn có quyền admin) hoặc thay đổi mã số truy nhập user nếu bạn truy nhậpvới quyền user (chỉ có quyền admin mới có quyền thêm và xoá user)
Mỗi lần nhập dữ liệu cho hệ thống bạn phải nhập dữ liệu ở ngoàibảng chính của các thuộc tính khoá trớc Sau đó nhập dữ liêu ở các formkhoá ngoại
Các thông tin ngày tháng năm bạn phải nhập đúng theo cấu trúc ngàytháng năm của hệ thống Nếu không chơng trình sẽ báo lỗi
Đồ án tốt nghiệp KTV Giáo viên hớng dẫn: Lê Huy Thập 2
Trang 3Quản lý vật t, thiết bị
Trong chơng trình ở các menu tìm kiếm bạn có thể tìm kiếm dữ liệu để từ
đó có thể điều trỉnh dữ liệu nh thêm, xoá sửa một cách nhanh chóng
Các thông tin báo cáo có thể giúp lập báo cáo hàng tồn, tình hìnhnhập xuất nhanh chóng, mà không phải tìm kiếm trong kho dữ liệu khổng
lồ
Do thời gian và điều kiên thực hiện trơng thình còn hạn chế nên
ch-ơng trình chỉ mang tính tợng trng, kiểm nghiệm lại những kiến thức chúng
em đã học đợc để viết nên chơng trình
5.2.2 Đánh giá nhận xét
Trong phạm vi của khoá luận này ta chỉ giới thiệu mang tính chấtkhẳng định lại những thành quả đạt đợc về mặt lý thuyết và ứng dụng chúngcho việc thiết kế các bài toán thực tế với sự hỗ trợ của công nghệ thông tin
Sau khi hoàn thành chơng trình chúng em nhận thấy chơng trình tuy
đã cung cấp đợc các thông tin hàng tồn, tình hình nhập xuất của các khohàng Nhng so với bài toán thực tế trong việc quản lý vật t thiết bị vẫn cònnhiều thiếu xót
5.3 Các Form chơng trình
Đồ án tốt nghiệp KTV Giáo viên hớng dẫn: Lê Huy Thập 3
Trang 4Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 4
Trang 5Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 5
Trang 6Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 6
Trang 7Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 7
Trang 8Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 8
Trang 9Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 9
Trang 10Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 10
Trang 11Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 11
Trang 12Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 12
Trang 13Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 13
Trang 14Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 14
Trang 15Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 15
Trang 16Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 16
Trang 17Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 17
Trang 18Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 18
Trang 19Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 19
Trang 20Qu¶n lý vËt t, thiÕt bÞ
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 20
Trang 21Do While Not rs.EOF
If rs![username] = ten And rs![password] = ma Then
Trang 22Private Sub Form_Timer()
Dim x As String, y As String
Option Compare Database
Private Sub Form_Load()
DoCmd.Restore
End Sub
Private Sub ok_Click()
Dim db As DAO.Database, rec As DAO.Recordset
Set db = CurrentDb()
Set rec = db.OpenRecordset("admin")
rec.MoveFirst
If passcu = rec![pass] Then
If IsNull(passmoi) And IsNull(xlpassmoi) Then
MsgBox "Ban chua nhap ma so he thong moi!" & Chr(10) & "De nghinhap day du", 0 + vbCritical, "Thong bao"
Trang 23Option Compare Database
Private Sub Command4_Click()
If IsNull(ma1) = False And IsNull(ma2) = False Then
If ma1 = ma2 Then
If ma1 <> ma2 Then
MsgBox "new password va retype new password cua bankhong dung", 0 + 48, "thong bao"
Trang 24Private Sub Command13_Click()
On Error GoTo Err_Command13_Click
Set rec = db.OpenRecordset("user")
If (mamoi <> "") And (ten <> "") And (pass <> "") Then
On Error GoTo loi
Trang 25If rec![userID] = mamoi Then
MsgBox "Ma User da ton tai" & Chr(10) & "De nghi nhap MaUser khac", 0 + 64, "th«ng b¸o"
Do While Not rs.EOF
If rs![userID] = macu Then
Trang 26Qu¶n lý vËt t, thiÕt bÞ
macu.Requery
End Sub
Option Compare Database
Dim xMshh, xsl, Xthem, Xsua
Private Sub Command13_Click()
Select Case luachon
Case 1: Me.List12.RowSource = "select * from nhacungcapwhere([nhacungcap]![mancc] like '*" & [txtma] & "*')"
Case 2: Me.List12.RowSource = "select * from nhacungcapwhere([nhacungcap]![tenncc] like '*" & [txtten] & "*')"
Case 3: Me.List12.RowSource = "select * from nhacungcapwhere([nhacungcap]![diachi] like '*" & [txtdiachi] & "*')"
Case 4: Me.List12.RowSource = "select * from nhacungcapwhere([nhacungcap]![dienthoai] like '*" & [txtdienthoai] & "*')"
Private Sub Cuoi_Click()
On Error GoTo Err_Cuoi_Click
Private Sub Dau_Click()
On Error GoTo Err_Dau_Click
If dmt = mancc Then
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 26
Trang 27Private Sub Ghi_Click()
On Error GoTo Err_Ghi_Click
Trang 28Private Sub Khong_Click()
On Error Resume Next
Trang 29Private Sub Sau_Click()
On Error GoTo Err_Sau_Click
Trang 30Private Sub Sua_Click()
On Error GoTo Err_Sua_Click
Private Sub Them_Click()
On Error GoTo Err_Them_Click
Trang 31Private Sub thoat_Click()
On Error GoTo Err_thoat_Click
Private Sub Truoc_Click()
On Error GoTo Err_Truoc_Click
Trang 32Qu¶n lý vËt t, thiÕt bÞ
Resume Exit_Truoc_Click
End Sub
Private Sub Xoa_Click()
On Error GoTo Err_Xoa_Click
Private Sub List12_AfterUpdate()
' Find the record that matches the control
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[mancc] = '" & Me![List12] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Option Compare Database
Dim xMshh, xsl, Xthem, Xsua
Private Sub Command13_Click()
If IsNull(txtma) = False And IsNull(txtten) = True Then
Me.List12.RowSource = "select * from nhacungcap where([nhacungcap]![mancc] like '*" & [txtma] & "*')"
Else
If IsNull(txtma) = True And IsNull(txtten) = False Then
Me.List12.RowSource = "select * from nhacungcap where([nhacungcap]![tenncc] like '*" & [txtten] & "*')"
Else
If IsNull(txtma) = False And IsNull(txtten) = False Then
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 32
Trang 33Qu¶n lý vËt t, thiÕt bÞ
Me.List12.RowSource = "select * from nhacungcap where([nhacungcap]![mancc] like '*" & [txtma] & "*' or [nhacungcap]![tenncc] like '*" &[txtten] & "*')"
Else
If IsNull(txtma) = True And IsNull(txtten) = True Then
MsgBox "Ban chua nhap dieu kien tim kiem", 0 + 60, "Thong bao"
Private Sub Cuoi_Click()
On Error GoTo Err_Cuoi_Click
Private Sub Dau_Click()
On Error GoTo Err_Dau_Click
Trang 34Qu¶n lý vËt t, thiÕt bÞ
Resume Exit_Dau_Click
End Sub
Private Sub Ghi_Click()
On Error GoTo Err_Ghi_Click
Trang 35Private Sub Khong_Click()
On Error Resume Next
Private Sub Sau_Click()
On Error GoTo Err_Sau_Click
Trang 36Private Sub Sua_Click()
On Error GoTo Err_Sua_Click
Private Sub Them_Click()
On Error GoTo Err_Them_Click
Trang 37Private Sub thoat_Click()
On Error GoTo Err_thoat_Click
Private Sub Truoc_Click()
On Error GoTo Err_Truoc_Click
Private Sub Xoa_Click()
On Error GoTo Err_Xoa_Click
Dim traloi
If IsNull(mancc) Then
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 37
Trang 38Private Sub List12_AfterUpdate()
' Find the record that matches the control
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[mancc] = '" & Me![List12] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
§å ¸n tèt nghiÖp KTV Gi¸o viªn híng dÉn: Lª Huy ThËp 38