Cài đặt chương trình

Một phần của tài liệu XD chưong trình quản lý sách (Trang 61)

Với phần mềm quản lý sách ta cần cài đặt một số phần mềm để chương trình hoạt động: phần mềm lập trình Visual Basic, hệ quản trị cơ sở dữ liệu Access 2000, phần mềm lập báo cáo CrystalRepor.

Để sử dụng chương trình Quản lý sách đã đĩn gĩi ta cần làm một số thao tác cài đặt sau:

Vào thư mục cĩ bộ cài phàm mềm Quản lý sách chạy file setup chưong trình sẽ cho ra cửa sổ cài đặt sau

từ cửa sổ cài đặt này ta click chuột vào ok và làm các thứ tự thao tác cho các hình tiếp theo như sau: Change Directory ( chọn đường dẫn chứa bộ cài chương trình )  chọn install QLSACH  Continue Ok.

để chương trình hiển thị tiếng việt, từ thư mục Font trong bộ cài copy file MYVNFONT.fon vào thư mục Fonts trong Control Panel.

4.5 MỘT SỐ GIAO DIỆN CHƯƠNG TRÌNH

danh sách các sách cĩ từ đĩ. Và bạn chỉ việc lựa chọn loại sách mình cần trong list. Khi bạn đã chọn xong các loại sách cần mua bấm vào nút Bán, chương trình sẽ cho bạn một hố đơn mua hàng ghi đầy đủ các thơng tin như số lượng, số tiền phải thanh tốn…

Tìm kiếm: Tìm kiếm theo mã sách, tên sách, tên tác giả năm xuất bản.

Form nhập sách :

Cập nhật : Các đầu sách mới được cập nhật đây đủ các thơng tin và được hiển thì

trên list.

Form tìm kiếm thơng tin chi tiết sách :

Cho biết đây đủ các thơng tin về từng đầu sách

Form tìm kiếm hố đơn nhập sách: Hố đơn được tìm kiếm theo ngày, tháng, quý, năm.

Cho ta biết thơng tin của những hố đơn nhập hàng, ví dụ như ngày nhập, nhập những sách gì, số lượng, đơn giá của từng đầu sách.

In hố đơn : Bạn sẽ được một danh sách các hố đơn và tổng số tiền của hố đơn

Form tìm kiếm hố đơn bán sách :

Tìm kiếm theo ngày, tháng, quý, năm theo ba chức năng chọn tìm kiếm thơng tin bán lẻ, bán sỉ hoặc tất cả.

Form chi tiết hố đơn nhập sách :

Đưa ra các thơng tin chi tiết về các hố đơn mua hàng, như số lượng của từng đầu sách đã nhập về trong các hố đơn, mã hố đơn, tổng tiền của hố đơn…

In hố đơn : Bạn hãy chọn một trong số các hố đơn mua sách trong list và chọn

Form chi tiết hố đơn Bán sách

Đưa ra các thơng tin chi tiết về các hố đơn bán hàng, như số lượng của từng đầu sách đã nhập về trong các hố đơn, mã hố đơn, tổng tiền của hố đơn…

In hố đơn : Bạn hãy chọn một trong số các hố đơn bán sách trong list và chọn

Form quản lý khách hàng ( Khách hàng mua buơn)

Lưu thơng tin về khách hàng mới.

Đưa ra thơng tin đây đủ về khách hàng. Bạn muốn in thơng tin về khách hàng nào hãy quay về frmmain và chọn mã khách hàng Click vào biểu tượng máy in bạn sẽ cĩ một bản in về thơng tin khách hàng đĩ.

Form quản lý nhân viên :

Đừa ra các thơng tin về nhân viên làm việc trong cửa hàng. Cập nhật nhưng thơng tin của nhân viên mới.

Form quản lý về phần trăm chênh lệch của giá bản ( bán lẻ, bán buơn, theo giá nhập vào )

KẾT LUẬN VÀ ĐÁNH GIÁ HỆ THỐNG 1. KẾT LUẬN

Đứng trước xu hướng phát triển nhanh và mạnh của cơng nghệ thơng tin thế giới cũng như trong nước, thì tin học hố quản lý là vơ cùng quan trọng và bức thiết hiện nay. Nĩ sẽ giúp cho các cơ quan hành chính giải quyết những cơng việc một cách nhanh chĩng và ít sai sĩt nhất, đặc biệt là trong lĩnh vực quản lý liên quan đến sổ sách, hố đơn. Những ứng dụng về cơ sở dữ liệu đã giải quyết được những vấn đề bức thiết nêu trên.

Trong đợt thực tập này em đã em đã nhận đề tài xây dựng chương trình quản lý sách và lấy nhà sách Minh Khai làm mơ hình thực tế để xây dựng chương trình. Tuy chương trình vẫn cịn nhiều hạn chế, song nĩ đã đáp ứng phần nào cơng việc quản lý sách của nhà sách và cho em thấy được vấn đề quan trọng khi xây dựng một chương trình quản lý. Với chương trình quản lý sách khi đưa vào sử dụng sẽ giúp nhà quản lý khắc phục được những khĩ khăn trong quản lý hoạt động nhà sách và tăng hiêu quả cơng việc cũng như hoạt động của nhà sách. Em xin chân thành cảm ơn thầy Đặng Minh Ất đã hướng dẫn, giúp đỡ em hồn thành đề tài thực tập này.

2. NHỮNG HẠN CHẾ CỦA CHƯƠNG TRÌNH

Do thời gian thực hiện phân tích và thiết kế hệ thống là tương đối hạn chế so với một đề tài cĩ nhu cấp lớn hiện nay và địi hỏi độ chính xác và ứng dụng thực

Do đặc thù quản lý của mỗi nhà sách là khác nhau nên việc ứng dụng chương trình đồng thời vào nhiều nhà sách cịn gặp phải những khĩ khăn và chưa đồng nhất. Mục tiêu xây dựng chương trình là thân thiện dễ sử dụng cịn gặp nhiều hạn chế và chưa cĩ tính chuyên nghiệp.

3 . HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

Xây dựng hệ thống thương mại điện tử Web bằng cơng nghệ ASP ( Active Server Pages ) hoạc ASP.Net, lưu trữ dữ liệu bằng hệ quản trị cơ sở dữ liệu Micsrosoft SQL Server hoặc Orcele và chạy trên mạng. Mục đích giúp cho khách hàng tìm được những cuốn sách một cách chủ động mà khơng tốn thời gian lựa chọn trực tiếp tại nhà sách. Giúp nhà quản lý nhà sách cĩ thể quản lý mà khơng cần trực tiếp đến nhà sách vẫn cĩ thể nắm thơng tin về hoạt động nhà sách của minh. Và đặc biệt từ thệ thống cĩ thể giới thiệu nhiều đầu sách tới khách hàng và thơng qua hệ thơng khách hàng cĩ thể đặt hàng mà mua trực tiếp qua mạng.

Về bảo mật cơ sở đữ liệu ta sẽ phân ra 3 mức người sử dụng

Admin : Cĩ quyền thêm, sửa, xố database, phân cấp, phân quyền cho người sử

dụng.

User mức 1 : cĩ quyền thêm dữ liệu vào database

User mức 2 : chỉ được quyền xem mà khơng được thực hiện bất cứ thao tác gì

trên database.

Một vẫn đề nữa là database sẽ được đặt trên máy chủ chứ khơng đặt trên các máy con, như vậy việc quản trị và bảo mật database sẽ dễ dàng hơn.

TÀI LIỆU THAM KHẢO

1. Cơ sở dữ liệu quan hệ

Lê Tiến Vương

2. Phân tích & Thiết kế hệ thống

Ngơ Trung Việt

3. Cơ sở dữ liệu & Phân tích thiết kế hệ thống thơng tin quản lý Nguyễn Hữu Trọng

4. Tự học lập trình cơ sở dữ liệu Visual Basic 6.0 tập 1&2

Nguyễn Đình Tê ( Chủ biên )

5. Microsoft Visual Basic 6.0 & Lập trình cơ sở dữ liệu

NguyễnThị Ngọc Mai (Chủ Biên)

6. Nhữ bài thực hành cơ sở dữ liệu Visual Basic

Đinh Xuân Lâm

7. Tin học văn phịng Access 2000

Nguyễn Sĩ Dũng 8. Lập trình Access 2000

PHỤ LỤC

Một số đoạn code trong chương trình :

• code Form chính ( frmmain )

Private Sub cmdThemS_Click() On Error Resume Next

If txtTenSBL.Text = "" Then

lblLoi.Caption = "B¹n h·y nhËp tªn s¸ch" txtTenSBL.SetFocus

Exit Sub End If

'Kiem tra xem co sach voi ten trong CSDL khong If txtMaSaBL.Text <> "" Then

Dim c As Integer

c = lvBan.ListItems.Count Dim G As Double

If OptBan1(0).Value = True Then

G = ModSach.GiaBan(txtMaSaBL.Text, 0) '* CInt(cmbSoLuongBL.Text)

Else

G = ModSach.GiaBan(txtMaSaBL.Text, 1) End If

'Kiem tra so luong sach

Call ModCSDL.MoBang("Select MA_SA,SLS from Sach where MA_SA='" & txtMaSaBL.Text & "'")

lblLoi.Caption = "Cưa hµng cßn " & rs("SLS") & " quyĨn. " cmbSoLuongBL.ListIndex = 0

Exit Sub End If

Set rs = Nothing

'Kiem tra xem lvban co du lieu khong If c = 0 Then

Tien = Tien + G * CLng(cmbSoLuongBL.Text) n = n + 1 tt = tt + 1 Set li = lvBan.ListItems.Add(, , tt, , 1) lvBan.ListItems(n).SubItems(1) = txtMaSaBL.Text lvBan.ListItems(n).SubItems(2) = txtTenSBL.Text lvBan.ListItems(n).SubItems(3) = cmbSoLuongBL.Text lvBan.ListItems(n).SubItems(4) = G Else

Dim bo As Boolean 'Kiem tra xem trong lvBan co MaSaBL chua bo = False Dim s As String Dim i As Integer For i = 1 To c s = lvBan.ListItems(i).SubItems(1) If s = txtMaSaBL.Text Then bo = True End If

Tien = Tien + G * CLng(cmbSoLuongBL.Text) n = n + 1 tt = tt + 1 Set li = lvBan.ListItems.Add(, , tt, , 1) lvBan.ListItems(n).SubItems(1) = txtMaSaBL.Text lvBan.ListItems(n).SubItems(2) = txtTenSBL.Text lvBan.ListItems(n).SubItems(3) = cmbSoLuongBL.Text lvBan.ListItems(n).SubItems(4) = G Else

MsgBox "Ma sach " & txtMaSaBL.Text & " da duoc dua vao danh sach. ", vbOKOnly + vbInformation, "Thong bao"

txtMaSaBL.Text = "" txtTenSBL.SetFocus Exit Sub End If End If lblTongT.Caption = Tien txtTenSBL.Text = "" txtMaSaBL.Text = "" FraKieu.Enabled = False cmbMaKH.Locked = True txtTenSBL.SetFocus Else

MsgBox "Xin loi chung toi khong con sach nay ! ", vbOKOnly + vbInformation, "Thong bao"

txtTenSBL.SetFocus Exit Sub

End If End Sub

• Code xứ lý quá trình Bán sách

Private Sub cmdBan_Click() On Error Resume Next

Dim c As Integer 'Dem so sach trong List c = lvBan.ListItems.Count If c > 0 Then Dim k As String Dim m As Integer k = ModTaoMA.TaoHDBS 'Add HDB_S

Call ModCSDL.MoBang("select * from HDB_S where MA_HDBS='A'") rs.AddNew

rs("MA_HDBS") = k

rs("NGAY") = CDate(Mid(Now(), 1, 10)) If OptBan1(0).Value = True Then

rs("MA_KH") = "KH0000" Else rs("MA_KH") = cmbMaKH.Text End If rs("MA_NV") = lblMaNV.Caption rs("TONG_TG") = lblTongT.Caption rs.Update Set rs = Nothing

Call ModCSDL.MoBang("select * from CTHDBS where MA_HDBS='A'") rs.AddNew rs("STT") = m rs("MA_HDBS") = k rs("MA_SA") = lvBan.ListItems(m).SubItems(1) rs("TEN_SA") = lvBan.ListItems(m).SubItems(2) rs("SLS_B") = CDbl(lvBan.ListItems(m).SubItems(3)) rs("DGIAS_B") = CDbl(lvBan.ListItems(m).SubItems(4)) rs.Update Set rs = Nothing Next m

'Update DL moi cho bang Sach Dim q As String

Dim sl As Integer For m = 1 To c

q = lvBan.ListItems(m).SubItems(1) sl = lvBan.ListItems(m).SubItems(3)

Call ModCSDL.MoBang("select MA_SA,SLS from Sach where MA_SA ='" & q & "'") rs("SLS") = CDbl(CLng(rs("SLS")) - sl) rs.Update Set rs = Nothing Next m lvBan.ListItems.Clear n = 0 tt = 0

FraKieu.Enabled = True cmbMaKH.Locked = False

'Bao cao ban sach Dim obj

Dim sec As Section

For Each sec In DaReBanSach.Sections If sec.Name = "Section4" Then For Each obj In sec.Controls

If obj.Name = "lblMAHDBS" Then obj.Caption = k

End If Next obj End If

If sec.Name = "Section5" Then For Each obj In sec.Controls

If obj.Name = "lblTongTien" Then obj.Caption = Tien

End If Next obj End If Next sec

Call ModCSDL.MoBang("Select STT,MA_SA,TEN_SA,SLS_B,DGIAS_B from CTHDBS where MA_HDBS = '" & k & "' order by STT")

Tien = 0 lblTongT.Caption = Tien Else txtTenSBL.SetFocus End If End Sub • Code xử lý quá trình nhập sách

Private Sub CmdCapNhat_Click() On Error Resume Next

Dim stt As Integer 'So thu tu cac ban ghi trong lvSaMua If txtTenS.Text = "" Then lblloi.Caption = "B¹n h·y nhËp tªn s¸ch" txtTenS.SetFocus Exit Sub End If If txtTenTG.Text = "" Then

lblloi.Caption = "B¹n h·y nhËp tªn t¸c gi¶" txtTenTG.SetFocus

Exit Sub End If

'Kiem tra so luong sach If txtSL.Text = "" Then

lblloi.Caption = "B¹n h·y nhËp sè lỵng s¸ch" txtSL.SetFocus

Else If CLng(txtSL.Text) <= 0 Then lblloi.Caption = "Sè lỵng s¸ch ph¶i lín h¬n 0" txtSL.SetFocus Exit Sub End If End If

'Kiem tra don gia

If txtDonGia.Text = "" Then

lblloi.Caption = "B¹n h·y nhËp d¬n gi¸ s¸ch" txtDonGia.SetFocus

Exit Sub Else

If CLng(txtSL.Text) <= 0 Then

lblloi.Caption = "§¬n gi¸ ph¶i lín h¬n 0" txtDonGia.SetFocus

Exit Sub End If End If

'Kiem tra xem lvSAMua co ban ghi nao khong Dim c As Integer

c = LvSAMua.ListItems.Count

Total = Total + (CLng(txtSL.Text) * CLng(txtDonGia.Text))

Select Case txtTinhTrang.Text Case "0" 'Add new

If MaS = "" Then MaS = ModTaoMA.TaoMaS Else Dim so As String Dim d As Integer so = CStr(CInt(Mid(MaS, 2, 4)) + 1) d = Len(so) Select Case d Case 1

MaS = CStr("S" & "000" & so) Case 2

MaS = CStr("S" & "00" & so) Case 3

MaS = CStr("S" & "0" & so) Case 4

MaS = CStr("S" & so) End Select End If j = j + 1 stt = stt + 1 Set li = LvSAMua.ListItems.Add(, , stt, , 1) LvSAMua.ListItems(j).SubItems(1) = MaS LvSAMua.ListItems(j).SubItems(2) = txtTenS.Text

LvSAMua.ListItems(j).SubItems(3) = txtTenTG.Text LvSAMua.ListItems(j).SubItems(4) = CmbNamXB.Text LvSAMua.ListItems(j).SubItems(5) = CmbLanXB.Text LvSAMua.ListItems(j).SubItems(6) = CmbTapSo.Text LvSAMua.ListItems(j).SubItems(7) = cmbMaNXB.Text LvSAMua.ListItems(j).SubItems(8) = txtSL.Text LvSAMua.ListItems(j).SubItems(9) = txtDonGia.Text Case "1" 'Update j = j + 1 stt = stt + 1 Set li = LvSAMua.ListItems.Add(, , stt, , 1) LvSAMua.ListItems(j).SubItems(1) = txtMaSa.Text LvSAMua.ListItems(j).SubItems(2) = txtTenS.Text LvSAMua.ListItems(j).SubItems(3) = txtTenTG.Text LvSAMua.ListItems(j).SubItems(4) = CmbNamXB.Text LvSAMua.ListItems(j).SubItems(5) = CmbLanXB.Text LvSAMua.ListItems(j).SubItems(6) = CmbTapSo.Text LvSAMua.ListItems(j).SubItems(7) = cmbMaNXB.Text LvSAMua.ListItems(j).SubItems(8) = txtSL.Text LvSAMua.ListItems(j).SubItems(9) = txtDonGia.Text End Select Else Dim bo As Boolean bo = False Dim s As String

s = LvSAMua.ListItems(i).SubItems(1) If s = txtMaSa.Text Then bo = True End If Next i If Not bo Then

Total = Total + (CLng(txtSL.Text) * CLng(txtDonGia.Text))

Select Case txtTinhTrang.Text Case "0" 'Add new

If MaS = "" Then MaS = ModTaoMA.TaoMaS Else so = CStr(CInt(Mid(MaS, 2, 4)) + 1) d = Len(so) Select Case d Case 1

MaS = CStr("S" & "000" & so) Case 2

MaS = CStr("S" & "00" & so) Case 3

MaS = CStr("S" & "0" & so) Case 4

MaS = CStr("S" & so) End Select

End If j = j + 1 stt = stt + 1 Set li = LvSAMua.ListItems.Add(, , stt, , 1) LvSAMua.ListItems(j).SubItems(1) = MaS LvSAMua.ListItems(j).SubItems(2) = txtTenS.Text LvSAMua.ListItems(j).SubItems(3) = txtTenTG.Text LvSAMua.ListItems(j).SubItems(4) = CmbNamXB.Text LvSAMua.ListItems(j).SubItems(5) = CmbLanXB.Text LvSAMua.ListItems(j).SubItems(6) = CmbTapSo.Text LvSAMua.ListItems(j).SubItems(7) = cmbMaNXB.Text LvSAMua.ListItems(j).SubItems(8) = txtSL.Text LvSAMua.ListItems(j).SubItems(9) = txtDonGia.Text Case "1" 'Update j = j + 1 stt = stt + 1 Set li = LvSAMua.ListItems.Add(, , stt, , 1) LvSAMua.ListItems(j).SubItems(1) = txtMaSa.Text LvSAMua.ListItems(j).SubItems(2) = txtTenS.Text LvSAMua.ListItems(j).SubItems(3) = txtTenTG.Text LvSAMua.ListItems(j).SubItems(4) = CmbNamXB.Text LvSAMua.ListItems(j).SubItems(5) = CmbLanXB.Text LvSAMua.ListItems(j).SubItems(6) = CmbTapSo.Text LvSAMua.ListItems(j).SubItems(7) = cmbMaNXB.Text LvSAMua.ListItems(j).SubItems(8) = txtSL.Text

Else

MsgBox "Ma sach " & txtMaSa.Text & " da duoc dua vao danh sach. ", vbOKOnly + vbInformation, "Thong bao"

End If End If lblTongTien.Caption = Total txtTenS.Text = "" txtTenTG.Text = "" txtSL.Text = "" txtDonGia.Text = "" End Sub

Private Sub CmdMuaSach_Click() On Error Resume Next

Dim c As Integer c = LvSAMua.ListItems.Count If c = 0 Then txtTenS.SetFocus SendKeys "{home}+{end}" Exit Sub Else Dim l As Integer Dim i As Integer Dim m As String m = ModTaoMA.TaoMaHDMS

i = LvSAMua.ListItems.Count

'Add HDM_S

Call ModCSDL.MoBang("select * from HDM_S where MA_HDMS='A'") rs.AddNew rs("MA_HDMS") = m rs("NGAY_M") = CDate(Mid(Now(), 1, 10)) rs("MA_NV") = lblMaNV.Caption rs("TTOAN") = lblTongTien.Caption rs.Update Set rs = Nothing 'Add CTHDM_S For l = 1 To i

Call ModCSDL.MoBang("select * from CTHDMS where MA_HDMS='A'") rs.AddNew rs("STT") = l rs("MA_HDMS") = m rs("MA_SA") = LvSAMua.ListItems(l).SubItems(1) rs("TEN_SA") = LvSAMua.ListItems(l).SubItems(2) rs("SLS_MUA") = LvSAMua.ListItems(l).SubItems(8) rs("DGIAS_MUA") = LvSAMua.ListItems(l).SubItems(9) rs.Update Set rs = Nothing Next l

Dim s As String For l = 1 To i

s = LvSAMua.ListItems(l).SubItems(1)

Call ModCSDL.MoBang("select * from Sach where MA_SA='" & s & "'") If rs.EOF Then rs.AddNew rs("MA_SA") = LvSAMua.ListItems(l).SubItems(1) rs("TEN_SA") = LvSAMua.ListItems(l).SubItems(2) rs("TEN_TG") = LvSAMua.ListItems(l).SubItems(3) rs("Nam_XB") = LvSAMua.ListItems(l).SubItems(4) rs("LAN_XB") = LvSAMua.ListItems(l).SubItems(5) rs("TAP_SO") = LvSAMua.ListItems(l).SubItems(6) rs("MA_NXB") = LvSAMua.ListItems(l).SubItems(7) rs("SLS") = LvSAMua.ListItems(l).SubItems(8) rs("GIAMUA") = LvSAMua.ListItems(l).SubItems(9) rs.Update Set rs = Nothing Else rs("TEN_SA") = LvSAMua.ListItems(l).SubItems(2) rs("TEN_TG") = LvSAMua.ListItems(l).SubItems(3) rs("Nam_XB") = LvSAMua.ListItems(l).SubItems(4) rs("LAN_XB") = LvSAMua.ListItems(l).SubItems(5) rs("TAP_SO") = LvSAMua.ListItems(l).SubItems(6) rs("MA_NXB") = LvSAMua.ListItems(l).SubItems(7) rs("SLS") = CLng(rs("SLS")) + CLng(LvSAMua.ListItems(l).SubItems(8)) rs("GIAMUA") = LvSAMua.ListItems(l).SubItems(9) rs.Update

Set rs = Nothing End If

Next l

'Hoa don mua sach Dim obj

Dim sec As Section

For Each sec In DaReHDMS.Sections If sec.Name = "Section4" Then For Each obj In sec.Controls

If obj.Name = "lblMAHDMS" Then obj.Caption = m

End If Next obj End If

If sec.Name = "Section5" Then For Each obj In sec.Controls If obj.Name = "lblTotal" Then obj.Caption = Total

End If Next obj End If Next ec

Call ModCSDL.MoBang("Select STT,MA_SA,TEN_SA,SLS_MUA,DGIAS_MUA from CTHDMS where MA_HDMS = '" & m & "' order by STT")

Set rs = Nothing Total = 0

lblTongTien.Caption = Total End If

'Khoi tao gia tri j, stt,Total,mas moi j = 0 stt = 0 LvSAMua.ListItems.Clear txtTenS.SetFocus MaS = "" End Sub

• Code xử lý quá trình tìm kiếm theo tên tác giá, tên sách, năm xuất bản.

Private Sub cmdTimKiem_Click() On Error Resume Next

If txtTimKiem.Text <> "" Then Select Case lblTK.Caption Case "1"

Call ModCSDL.MoBang("select MA_SA,TEN_SA, TEN_TG, NAM_XB, LAN_XB, TAP_SO, MA_NXB, SLS from Sach where TEN_SA like '%" & txtTimKiem.Text & "%' and SLS>0")

Call Add_lvTimKiem Set rs = Nothing

Exit Sub Case "2"

Call ModCSDL.MoBang("select MA_SA,TEN_SA,TEN_TG,NAM_XB,LAN_XB,TAP_SO,MA_NXB,SLS from Sach where TEN_TG like '%" & txtTimKiem.Text & "%' and SLS>0")

Call Add_lvTimKiem Set rs = Nothing Exit Sub Case "3" Call ModCSDL.MoBang("select MA_SA,TEN_SA,TEN_TG,NAM_XB,LAN_XB,TAP_SO,MA_NXB,SLS from Sach where NAM_XB like '" & txtTimKiem.Text & "%' and SLS>0")

Call Add_lvTimKiem Set rs = Nothing Exit Sub End Select End If End Sub

Một phần của tài liệu XD chưong trình quản lý sách (Trang 61)

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

(92 trang)
w