You are on page 1of 42

GII THIEU: Thc hien chng trnh: Vo Hoa oan .

Ngay cap nhat sau cung: Ngay 26 thang 10 nam 2004 XYZ la mot Cong Ty hoat ong theo mo hnh phuc vu, c mo ta nh sau: Khach hang ky cac n at hang e gia cong cac san pham nao o.Nguyen lieu se do khach hang cung cap e san xuat va khi san xuat xong th Cong ty se giao san pham c san xuat cho khach hang theo cac n hang a ky. Viec tnh lng ton nguyen lieu ton con lai da theo nh mc san xuat la bao nhieu, cac nguyen lieu nao e cho ra 1 n v san pham. Quan ly viec thanh toan (tien gia cong), cong n khach hang vaquan ly ton nguyen lieu ma cong ty con gi cua khach hang sau khi a tr cac nguyen lieu san xuat va giao cac san pham. Chng trnh c viet tren ngon ng Visual Basic, ket noi vi C s d lieu Access; cung vi 2 phan mem Data Widgets e hien th d lieu len li va Crystal Report 8.5 e lap bao cao. Chung em a c s hng dan tan tnh cua thay Pham Ngoc Linh cung nh y kien ong gop quy bao cua cac ban. Tuy nhien thi gian va kinh nghiem co han nen chng trng khong tranh khoi thieu sot, han che. Rat mong c s gop y cua quy thay co va y kien cua cac ban. Than ai. Tp HCM ngay 26 thang 10 nam 2004 Lp: CV0303S Nhom HVTH: VO HOA OAN TRNH CONG MINH O KIEN HUNG

Chng trnh ket noi tren C s d lieu Access. e ket noi vi cac he quan tr c s d lieu bang oi tng ADO phai dung chuoi chuoi ket noi ( SQLConn ) thong qua trnh ieu khien Provider: SQLConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source= <ng dan.Ten database> Persist Security Info=False " oi tng Connection: Dung e ket noi cac he quan tr c s d lieu, thc thi cac lenh SQL(insert, update, delete) thong qua phng thc Execute Co the tao oi tng connection thong qua nhieu cach: Dim Conn as new ADODB.Connection Thc thi cau lenh SQL <oi tng connection>.Execute <Cau lenh SQL> V du: Vi cau len SQL: Str = " insert into GIAONHAN values('" & Trim(cboSoPhieu) & "','" & Trim(cboSoDDH) & "','" & Trim(txtNgay) & "')" Conn.Execute Str oi tng Recordset : Dung e thc thi lay mau tin thong qua cau lenh SQL Select . Co the tao oi tng Recordset bang cach: Dim Rst as new ADODB. Recordset Cau lenh SQL: strSQL = " select TenkhachHang From KhachHang " t c s d lieu

Thc thi cau lenh SQL <oi tng Recordset>.open <Cau lenh SQL>,<oi tng connection> v du: Rst.Open strSQL ,Conn I. 1. MO TA CAC PHIEU: Phieu nhap nguyen lieu: Nguyen lieu c Khach Hang cung cap sau khi Cong ty va khach hang thoa thuan viec gia cong san pham ma khach hang yeu cau. So H : Khach Hang : a Ch : ien Thoai : Ngay Nhap : Nguyen lieu So lng VT

2.

n at hang: So H : Khach Hang : a Ch : ien Thoai : Ngay k ket : Han giao : San pham VT So lng n gia

3.

Phieu giao nhan: So Phieu : So H : Khach Hang : a Ch : ien Thoai : Ngay Giao : San pham So lng n gia

4.

Phieu thanh toan: So TT : Ngay TT : Khach Hang : a Ch : ien Thoai : Tien TT : Ton nguyen lieu: Ngay ton : Khach Hang : a Ch : ien Thoai : Nguyen lieu So lng ton VT

5.

6.

Cong n: Ngay CN : Khach Hang a Ch : ien Thoai Tien CN :

: :

7.

Thong ke doanh so theo San pham cua tng H: Thang.nam 2004 San pham So lng Doanh so (tien thu)

II. 1.

PHAN TCH: PHAN TCH THANH PHAN D LIEU CUA NG DUNG: S o quan niem d lieu:

Hnh 1: S o Quan niem d lieu cua ng dung N HANG GIA CONG 2. Mo ta d lieu: a) Cac loai thc the: KhachHang Khach hang DonDatHang n at hang ChiTietDonDatHang Chi tiet n at hang SanPham San pham DinhMucSanXuat nh mc san xuat CongNo Cong n GiaoNhan Giao nhan ChiTietGiaoNhan Chi tiet giao nhan NguyenLieu Nguyen lieu ThanhToan Thanh toan Ton Ton NhapXuatNguyenLieuNhap xuat nguyen lieu

ChiTietNguyenLieu b)

Chi tiet nguyen lieu

Mo ta cac loai thc the: b1) Thc the Khach hang: Thuoc tnh MaKhachHang TenKhachHang DiaChi DienThoai Dien giai Kieu Ma khach hang Text Ten khach hangext T a ch Text ien thoai Text Rang buoc Khoa chnh

b2) Thc the n at hang: Thuoc tnh SoDonDatHang MaKhachHang NgayKiKet DienThoai Dien giai Kieu So n at hang Text Ma khach hang Text Ngay k ket Date ien thoai String Rang buoc Khoa chnh Khoa ngoai

b3) Thc the Chi tiet n at hang: Thuoc tnh SoDonDatHang SanPham SoLuongDatHang DonGia HanGia Dien giai Kieu Rang buoc So n at hang Text Khoa chnh San pham Text Khoa ngoai SL at hang Number n gia Number Han giao Date()

b4) Thc the San pham: Thuoc tnh SanPham TenSanPham DonViTinh DonGia Dien giai Kieu Rang buoc San pham Text Khoa chnh Ten san pham Text n v tnh Number n gia Number

b5) Thc the nh mc san xuat: Thuoc tnh NguyenLieu SanPham SoLuongSanXuat Dien giai Kieu Rang buoc Nguyen lieu Text Khoa ngoai San pham Text Khoa ngoai So lng san xuat Number

b6) Thc the cong n: Thuoc tnh NgayCongNo MaKhachHang TienCongNo Dien giai Kieu Rang buoc Ngay cong n Date() Khoa chnh Ma khach hang Text Khoa ngoai Tien cong n Number

b7) Thc the Giao Nhan: Thuoc tnh SoPhieu SoDonDatHang NgayGiao Dien giai Kieu Rang buoc So phieu Text Khoa chnh So n at hang Text Khoa ngoai Ngay giao Number

b8) Thc the Chi tiet giao nhan: Thuoc tnh SoPhieu SanPham SoLuong DonGia Dien giai So phieu San pham So lng n gia Kieu Rang buoc Text Khoa ngoai Text Khoa ngoai Number Number

b9) Thc the Nguyen Lieu: Thuoc tnh NguyenLieu Ten NguyenLieu DonViTinh Dien giai Kieu Rang buoc Nguyen lieu Text Khoa chnh Ten nguyen lieuext T n v tnh Number

b10) Thc the Thanh Toan: Thuoc tnh SoThanhToan NgayThanhToan MaKhachHang TienThanhToan Dien giai Kieu Rang buoc So thanh toan Text Khoa chnh Ngay thanh toan Date() Khoa ngoai Ma khach Hang Text Tien thanh toanNumber

b11) Tthc the Ton: Thuoc tnh MaKhachHang NguyenLieu SoLuongTon NgayTon Dien giai Kieu Rang buoc Ma khach hang Text Khoa ngoai Nguyen lieu Text Khoa ngoai So lng ton Number Ngay ton Date()

b12) Thc the Nhap xuat nguyen lieu: Thuoc tnh SoHoaDonNhap MaKhachHang NgayNhap Dien giai Kieu So hoa n nhap Text Ma khach hang Text Ngay nhap Date() Rang buoc Khoa chnh Khoa ngoai

b13) Thc the Chi tiet nguyen lieu: Thuoc tnh SoHoaDonNhap NguyenLieu SoLuong Dien giai Kieu So hoa n nhap Text Nguyen lieu Text So lng Date() Rang buoc Khoa ngoai Khoa ngoai

c) Rang buoc toan ven: KHOA CHNH: R1-01: id(CongNo) = sttCNO R1-02: id(KhachHang) = MaKhachHang R1-03: id(DonDatHang) = SoDDH R1-04: id(ChiTietDonDathang) = sttDDH R1-05: id(SanPham) = SanPham R1-06: id(DinhMucSanXuat) = sttSX R1-07: id(GiaoNhan) = SoPhieu R1-08: id(ChiTietGiaoNhan) = sttGiaoNhan R1-09: id(ThanhToan) = SoTT R1-10: id(Ton) = sttTon R1-11: id(NhapXuatNguyenLieu) = SoHDN R1-12: id(ChiTietNguyenLieu) = sttHDN R1-13: id(NguyenLieu) = NguyenLieu RANG BUOC MIEN GAI TR: R2-01: (CTDDH.SoDDH>0) and (CTDDH.SLDH>0) and (CTDDH.DG>0) R2-02: (SP.DVT> 0 ) and (SP.DG > 0) R2-03: (DMSX.SLSX > 0) R2-04: (GN.NgGiao < DDH.NgKK) R2-05: (CTNL.SL > 0) R2-06: (NL.DVT > 0) R2-07: (TT.TienTT > 0) RANG BUOC GIA CAC THUOC TNH TRONG R3-0: R3-0: R3-0: R3-0: CNOCK = CNODK + TIENNO TIENTHU SLTonCK = SLTonDK + NHAP XUAT Tien at hang = CTDDH.SLDH * CTDDH.DG Tien giao nhan = CTGN.SL * CTGN.DG

THC THE:

R3-0: So tien n au k ( CNODK ) cua thang nay phai bang so tien n cuoi k ( CNOCK ) cua thang trc. R3-0: So lng ton au k ( SLTonDK ) cua tah1ng nay phai bang so lng ton cuoi k ( SLTonCK ) cua thang trc. PHAN TCH THANH PHAN X LY CUA NG DUNG: XL1: Cap nhat Nguyen lieu. XL2: Cap nhat phieu Nhap nguyen lieu. XL3: Cap nhat n at hang. XL4: Cap nhat Phieu giao nhan. XL5: Cap nhat Phieu thanh toan XL6: Tnh Cong n Khach hang. XL7: Tnh Ton Nguyen lieu. MO TA CAC X LY: _ Ten x ly : XL1: Chc nang : cap nhat nguyen lieu. Input : MaNL, NL. Output : NL. Qui tac : NL n c them,sa xoa vao NL _Ten x ly : XL2: Chc nang : Cap nhat phieu nhap nguyen lieu. Input : SoHDN h, NL n, NXNL, CTNL, NL, KH. Output : NXNL. Qui tac : So lng nhap trong thang t cua NL n bang tong so lng cua CTNL trong thang t co lien quan en NL n. _Ten x ly : XL3: Chc nang : Cap nhat n at hang . Input : SDDH, MSP, DDH, CTDDH, KH, SP Output : DDH. Qui tac : So lng San pham Khach hang at trong thang t bang tong so san pham cua CTDDH trong thang t co lien quan en san pham o. _Ten x ly : XL4: Chc nang : Cap nhat phieu Giao nhan. Input : SoP p, SoDDH h, GN, CTGN, DDH, CTDDH. Output : GN. Qui tac : So lng giao nhan san pham trong thang t bang tong so lng giao nhan cua CTGN trong thang t lien quan en San pham o. _Ten x ly : XL5

Chc nang : Cap nhat phieu thanh toan. Input : SoTT, MKH, TTOAN, KH Output : TTOAN. Qui tac : So tien thanh toan trong thang t bang tong tien thanh toan cua TTOAN trong thang t co lien quan en KH k. _Ten x ly : XL6: Chc nang : Tnh n Khach hang. Input : NgCN, MKH, CNO. Output : CNO. Qui tac : NOCK = NODK + SONO THANHTOAN _Ten x ly : XL7 : Chc nang : Tnh ton Nguyen lieu : Input : NgTON, LN, TON. Output : TON. Qui tac : TONCK = TONDK + NHAP XUAT III. 1. THIET KE D LIEU : S o Logic d lieu:

Hnh 2: S o Logic d lieu cua ng dung N HANG GIA CONG 2. T ien d lieu: MaKhachHang TenKhachHang DiaChi DienThoai SoDonDatHang NgayKiKet SanPham TenSanPham DonViTinh DonGia SoPhieu NgayGiao Ma khach hang Ten khach hang a ch ien thoai So n at hang Ngay k ket San pham Ten san pham n v tnh n gia So phieu Ngay giao

NgayCongNo TienCongNo NguyenLieu TenNguyenLieu SoThanhToan NgayThanhToan TienThanhToan SoHoaDonNhap NgayNhap SoLuongDatHang DonGia HanGiao SoLuong SoLuongSanXuat SoLuongTon NgayTon 3. Mo ta cac bang: 3.1) Khach hang Thuoc tnh: Thuoc tnh Kieu MaKhachHang Text TenKhachHangText DiaChi Text DienThoai Text Ch muc: Ch muc KHACHHANG_PK 3.2) Cong n: Thuoc tnh: Thuoc tnh NgayCongNo MaKhachHang TienCongNo Ch muc:

Ngay cong n Tien cong n Nguyen lieu Ten Nguyen lieu So thanh toan Ngay thanh toan Tien thanh toan So hoa n nhap Ngay nhap So lng at hang n gia Han giao So lng So lng san xuat So lng ton Ngay ton

Khoa Chnh

Thuoc tnh MakhachHang

Th t ASC

Kieu Text Text Number

Khoa Chnh Ngoai

Ch muc CONGNO_PK CONGNO_FK Khoa ngoai:

Thuoc tnh NgayCongNo MaKhachHang MaKhachHang

Th t ASC ASC

Khoa ngoai Bang tham chieu Khoa noi MaKhachHang KhachHang MaKhachHang 3.3) n at hang Thuoc tnh: Thuoc tnh SoDonDatHang MaKhachHang NgayKiKet Ch muc: Ch muc DONDATHANG_PK DONDATHANG_FK Khoa ngoai: Khoa ngoai MaKhachHang Bang tham chieu Khoa noi KhachHang MaKhachHang Thuoc tnh Th t SoDonDatHang ASC MaKhachHang MaKhachHang ASC Kieu Text Text Date() Khoa Chnh Ngoai

3.4) Chi tiet n at hang Thuoc tnh: Thuoc tnh SoDonDatHang SanPham SoLuongDatHang DonGia HanGiao Ch muc: Kieu Text Text Number Number Date() Khoa Ngoai Ngoai

Ch muc CTDONDATHANG_PK CTDONDATHANG_FK Khoa ngoai: Khoa ngoai SoDonDatHang SanPham 3.5) Ton : Thuoc tnh: Thuoc tnh MaKhachHang NguyenLieu SoLuongTon NgayTon Ch muc: Ch muc TON_PK TON_FK Khoa ngoai: Khoa ngoai MaKhachHang NguyenLieu 3.6) San pham : Thuoc tnh: Thuoc tnh SanPham TenSanPham DonViTinh DonGia Ch muc:

Thuoc tnh Th t SoDonDatHangASC SanPham SanPham ASC

Bang tham chieu Khoa noi DonDatHang SoDonDatHang SanPham SanPham

Kieu Text Text Number Date()

Khoa Ngoai Ngoai

Thuoc tnh MaKhachHang NguyenLieu NguyenLieu

Th t ASC ASC

Bang tham chieu Khoa noi KhachHang MaKhachHang NguyenLieu NguyenLieu

Kieu Text Text Number Number

Khoa Chnh

Ch muc SANPHAM_PK 3.7)

Thuoc tnh SanPham

Th t ASC

nh mc san xuat : Thuoc tnh: Thuoc tnh NguyenLieu SanPham SoLuongSanXuat Kieu Text Text Number Khoa Ngoai Ngoai

Ch muc: Ch muc DMSX_PK DMSX _FK Thuoc tnh NguyenLieu SanPham SanPham Th t ASC ASC

Khoa ngoai: Khoa ngoai NguyenLieu SanPham Bang tham chieu Khoa noi NguyenLieu NguyenLieu SanPham SanPham

3.8)

Giao Nhan: Thuoc tnh: Thuoc tnh SoPhieu SoDonDatHang NgayGiao Kieu Text Text Date() Khoa Chnh Ngoai

Ch muc: Ch muc GIAONHAN_PK GIAONHAN_FK Thuoc tnh Th t SoPhieu ASC SoDonDatHang SoDonDatHang ASC

Khoa ngoai: Khoa ngoai SoDonDatHang Bang tham chieu Khoa noi DonDatHang SoDonDatHang

3.9)

Chi tiet Giao Nhan: Thuoc tnh: Thuoc tnh SoPhieu SanPham SoLuong DonGia Kieu Text Text Number Number Khoa Ngoai Ngoai

Ch muc: Ch muc CTGN_PK CTGN_FK Thuoc tnh SoPhieu SanPham SanPham Th t ASC ASC

Khoa ngoai: Khoa ngoai SoPhieu SanPham Bang tham chieu Khoa noi GiaoNhan SoPhieu SanPham SanPham

3.10)

Nguyen lieu: Thuoc tnh: Thuoc tnh NguyenLieu TenNguyenLieu DonViTinh Kieu Text Text Number Khoa Chnh

Ch muc: Ch muc NGUYENLIEU_PK Thuoc tnh NguyenLieu Th t ASC

3.11)

Thanh toan: Thuoc tnh: Thuoc tnh SoThanhToan NgayThanhToan MaKhachHang TienThanhToan Kieu Text Date() Text Number Khoa Chnh Ngoai

Ch muc: Ch muc THANHTOAN_PK THANHTOAN_FK Thuoc tnh SoThanhToan MaKhachHang MaKhachHang Th t ASC ASC

Khoa ngoai: Khoa ngoai MaKhachHang Bang tham chieu Khoa noi KhachHang MaKhachHang

3.12)

Nhap xuat nguyen lieu : Thuoc tnh: Thuoc tnh SoHoaDonNhap MaKhachHang NgayNhap Kieu Text Text Number Khoa Chnh Ngoai

Ch muc: Ch muc NXNL_PK NXNL_FK Thuoc tnh Th t SoHoaDonNhap ASC MaKhachHang MaKhachHang ASC

Khoa ngoai: Khoa ngoai MaKhachHang Bang tham chieu Khoa noi KhachHang MaKhachHang

3.13)

Chi tiet nguyen lieu : Thuoc tnh: Thuoc tnh SoHoaDonNhap NguyenLieu SoLuong Kieu Text Text Number Khoa Ngoai Ngoai

Ch muc: Ch muc CTGN_PK Thuoc tnh SoPhieu Th t ASC

CTGN_FK Khoa ngoai: Khoa ngoai SoHoaDonNhap NguyenLieu 4.

SanPham SanPham

ASC

Bang tham chieu Khoa noi NXNguyenLieu SoPhieu NguyenLieu SanPham

MO TA CAC RANG BUOC TOAN VEN : 4.1) KHOA CHNH : R1-01 : id( CONGNO ) = NgayCN R1-02 : id( KHACHANG ) = MKH R1-03 : id( NGUYENLIEU ) = NL R1-04 : id( DONDATHANG ) = SDDH, MAKH R1-05 : id( CHITIETDONDATHANG ) = SDDH, SP R1-06 : id( SANPHAM ) = SANPHAM R1-07 : id( DINHMUCSANXUAT ) = NL, SP R1-08 : id( GIAONHAN ) = SPhieu, SDDH R1-09 : id( CHITIETGIAONHAN ) = SPhieu, SP R1-10 : id( THANHTOAN ) = SoTT, MKH R1-11 : id( TON ) = MKH, NL R1-12 : id( NHAPXUATNGUYENLIEU ) = SoDDH, MKH R1-13 : id( CHITIETNGUYENLIEU ) = SoHDN, NL 4.2) RANG BUOC VE MIEN GIA TR: R2-01 : (CTDDH.SLDH > 0) and (CTDDH.DG > 0) R2-02 : (SP.DG > 0) R2-03 : (DMSX.SLSX > 0) R2-04 : (CNO.TienCNO > 0) R2-05 : (CTGN.SL > 0) and (CTGN.DG > 0) R2-06 : (TToan.TToan > 0) 4.3) KHOA NGOAI: R3-01 : CNO[MaKH] R3-02 : TTOAN[MaKH] R3-03 : TON[MaKH] R3-04 : DDHANG[MaKH] R3-05 : NXNL[MaKH] R3-06 : GNHAN[SoDDH] R3-07 : CTDDH[SoDDH] R3-08 : CTDDH[MaSP] R3-09 : CTGN[MaSP] R3-10 : DMSX[MaSP] R3-11 : GN[SoPhieu] KH[MaKH] KH[MaKH] KH[MaKH] KH[MaKH] KH[MaKH] DDH[SoDDH] DDH[SoDDH] SPHAM[MaSP] SPHAM[MaSP] SPHAM[MaSP] CTGN[SoPhieu]

R3-12 : R3-13 : R3-14 : R3-15 : IV. 1.

DMSX[MaNL] TON[MaNL] CTNL[MaNL] CTNL[SoHDN]

NLIEU[MaNL] NLIEU[MaNL] NLIEU[MaNL] NXNL[SoHDN]

THIET KE NG DUNG (Cac man hnh): Man hnh chnh:

H1nh 3: Man hnh chnh cua ng dung. Danh Muc:

Menu at hang Menu Giao nhan

Khach hang at n hang mi. Giao hang cho Khach hang.

Menu Nhap xuat Nguyen lieu hang. 2. Man hnh at hang:

Nhap nguyen lieu t khach

Hnh 4: Man hnh n at hang mi . Source code lay Ma KH len combobox: Dim sqlMKH As String sqlMKH = "Select MaKhachHang from KhachHang order by MaKhachHang asc" Set rsMKH = New ADODB.Recordset rsMKH.Open sqlMKH, Conn, adOpenKeyset, adLockOptimistic Set cboMKH.DataSourceList = rsMKH cboMKH.DataFieldList = "MaKhachHang" cboMKH.Columns(0).Width = 1250 Source code lay d lieu len li : Dim strSQL As String Dim Cnn As New ADODB.Connection strSQL = "SELECT ChiTietDonDatHang.SanPham, SanPham.TenSanPham, SanPham.DonViTinh, ChiTietDonDatHang.SoLuongDatHang, ChiTietDonDatHang.DonGia" strSQL = strSQL & " FROM SanPham, DonDatHang, ChiTietDonDatHang WHERE DonDatHang.SoDonDatHang =

ChiTietDonDatHang.SoDonDatHang AND SanPham.SanPham = ChiTietDonDatHang.SanPham" Set Rst = New ADODB.Recordset Rst.CursorLocation = adUseClient Cnn.Open SQLConn ' KHONG DUNG BIEN Conn Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic SSODatHang.Columns(0).DataField = "sanpham" SSODatHang.Columns(1).DataField = "Tensanpham" SSODatHang.Columns(2).DataField = "donvitinh" SSODatHang.Columns(3).DataField = "soluongDatHang" SSODatHang.Columns(4).DataField = "dongia" Set SSODatHang.DataSource = Nothing Set SSODatHang.DataSource = Rst : Nut Mi e them n at hang mi, khi nhan nut Mi th so DDH se t tang, ta co the chon Khach hang cu textbox MaKhachHang hoac ien thong tin mi neu la Khach hang mi. Source code khi nhan nut mi so DDH se t tang: Private Sub cmdmoi_Click() txtSDDH.SetFocus Dim SQLddh As String SQLddh = "select sodondathang from dondathang " Set rsDDH = New ADODB.Recordset rsDDH.CursorLocation = adUseClient rsDDH.Open SQLddh, Conn, 0, 3 SDDH = Mid(Trim(txtSDDH.Text), 2, 2) txtSDDH.Text = SDDH & "DDH" & rsDDH.RecordCount + 1 End Sub : Khi nhan nut lu th se goi man hnh at hang mi e nhap them thong tin cua san pham mi:

: Lu d lieu mi xuong c s d lieu. Source code Lu d lieu: Private Sub cmdLuu_Click()

Dim Rs As New ADODB.Recordset Dim rs1 As New ADODB.Recordset Dim SQL2 As String Dim SQL3 As String Dim SQL4 As String Dim SQL5 As String Dim SQL6 As String Dim SQL7 As String If Trim(frm1DatHang.txtSDDH) = "" Or Trim(Trim(frm1DatHang.cboMKH)) = "" Or Trim(cboSP) = "" Then MsgBox " Xin nhap dau du thong tin truoc khi luu ", vbOKOnly + vbExclamation, "THONG BAO" Me.MousePointer = 0 End If SQL2 = " insert into KHACHHANG values('" & Trim(frm1DatHang.cboMKH) & "','" & Trim(frm1DatHang.txtTKH) & "','" & Trim(frm1DatHang.txtDiachi) & "','" & Trim(frm1DatHang.txtDienthoai) & "')" SQL3 = " insert into DONDATHANG values(' " & Trim(frm1DatHang.txtSDDH) & " ',' " & Trim(frm1DatHang.cboMKH) & " ',' " & Trim(frm1DatHang.txtNgayKK) & " ')" SQL4 = " insert into CHITIETDONDATHANG values(' " & Trim(frm1DatHang.txtSDDH) & " ',' " & Trim(cboSP) & " ',' " & Trim(txtSl) & " ',' " & Trim(txtDG) & " ',' " & Trim(frm1DatHang.txtHanGiao) & " ') " Conn.Execute SQL2 Conn.Execute SQL3 Conn.Execute SQL4 SQL5 = " update DONDATHANG set MAKHCHHANG='" & Trim(frm1DatHang.cboMKH) & "', TENKHACHHANG='" & Trim(frm1DatHang.txtTKH) & "', NGAYKIKET='" & Trim(frm1DatHang.txtNgayKK) & "',HANGIAO='" & Trim(frm1DatHang.txtHanGiao) & "' WHERE SODONDATHANG='" & Trim(frm1DatHang.txtSDDH) & "'" SQL6 = " update KHACHHANG set MAKHACHHANG='" & Trim(frm1DatHang.cboMKH) & "',TENKHACHHANG='" & Trim(frm1DatHang.txtTKH) & ",DIACHI='" & Trim(frm1DatHang.txtDiachi) & "',DIENTHOAI='" & Trim(frm1DatHang.txtDienthoai) & "'" SQL7 = " update CHITIETDONDATHANG set SODONDATHANG='" & Trim(frm1DatHang.txtSDDH) & "',SANPHAM='" & Trim(cboSP) & "',SOLUONGDATHANG='" & Trim(txtSl) & "',DONGIA='" & Trim(txtDG) & "',HANGIAO='" & Trim(frm1DatHang.txtHanGiao) & "'" Conn.Execute SQL5 Conn.Execute SQL6 Conn.Execute SQL7

End Sub : Thoat ca so n at hang. 3. Man hnh Giao Nhan:

Hnh 5: Man hnh giao nhan san pham cho khach hang. Source code lay d lieu len cbo so phieu: Dim sql As String sql = "select sophieu from giaoNhan " Set rsSoP = New ADODB.Recordset rsSoP.Open sql, Conn, adOpenKeyset, adLockOptimistic Set cboSoPhieu.DataSourceList = rsSoP cboSoPhieu.DataFieldList = "SoPhieu" cboSoPhieu.Columns(0).Width = 1200 Source code lay d lieu len cbo so H : 1 Dim sql1 As String sql1 = "select sodondathang from dondathang" Set rsSoDDH = New ADODB.Recordset

rsSoDDH.Open sql1, Conn, adOpenKeyset, adLockOptimistic Set cboSoDDH.DataSourceList = rsSoDDH cboSoDDH.DataFieldList = "SoDonDathang" cboSoDDH.Columns(0).Width = 1230 Source code lay d lieu len li: Dim strSQL As String Dim Cnn As New ADODB.Connection strSQL = "select * from SanPham" Set Rst = New ADODB.Recordset Rst.CursorLocation = adUseClient 'Conn.Open SQLConn Cnn.Open SQLConn ' KHONG DUNG BIEN Conn Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic SSOGiaoNhan.Columns(0).DataField = "sanpham" SSOGiaoNhan.Columns(1).DataField = "Tensanpham" SSOGiaoNhan.Columns(2).DataField = "" SSOGiaoNhan.Columns(3).DataField = "" Set SSOGiaoNhan.DataSource = Nothing Set SSOGiaoNhan.DataSource = Rst : Khi nhan nut Mi th cboSP, cboDDh, txtNgay nhan focus, d lieu cua cot SL va DG se c nhap mi . : Lu d lieu mi xuong c s d lieu. Source code Lu D lieu: Private Sub CmdLuu_Click () Dim Str As String Dim Str1 As String Dim Str2 As String Dim Str3 As String If Trim(cboSoPhieu) = "" Or Trim(cboSoDDH) = "" Then MsgBox " Xin nhap soPHIEU va soDDH truoc khi luu ", vbOKOnly + vbExclamation, "THONG BAO" Me.MousePointer = 0 End If Str = " insert into GIAONHAN values('" & Trim(cboSoPhieu) & "','" & Trim(cboSoDDH) & "','" & Trim(txtNgay) & "')" Conn.Execute Str Str1 = " update GIAONHAN set SOPHIEU='" & Trim(cboSoPhieu) & "',SODONDATHANG='" & Trim(cboSoDDH) & "',NGAYGIAO='" & Trim(txtNgay) & "'" Conn.Execute Str1 Str2 = " insert into CHITIETGIAONHAN values('" & Trim(cboSoPhieu) & "','" & Trim(SSOGiaoNhan.Columns(0).Text) & "','" &

Trim(SSOGiaoNhan.Columns(2).Text) & "','" & Trim(SSOGiaoNhan.Columns(3).Text) & "' ) Conn.Execute Str2 Str3 = " update CHITIETGIAONHAN set SOPHIEU='" & Trim(cboSoPhieu) & "', SANPHAM='" & Trim(SSOGiaoNhan.Columns(0).Text) & "', SOLUONG='" & Trim(SSOGiaoNhan.Columns(2).Text) & "',DONGIA='" & Trim(SSOGiaoNhan.Columns(3).Text) & "' " Conn.Execute Str3 End Sub : thoat ca so Giao nhan. 4. Man hnh Nhap xuat Nguyen lieu:

Hnh 6: Man hnh nhap xuat nguyen lieu. Source code lay d lieu len cbo MAKH: Dim sqlMKH As String sqlMKH = "Select MaKhachHang from KhachHang order by MaKhachHang asc" Set rsMKH = New ADODB.Recordset rsMKH.Open sqlMKH, Conn, adOpenKeyset, adLockOptimistic Set cboMKH.DataSourceList = rsMKH cboMKH.DataFieldList = "MaKhachHang" cboMKH.Columns(0).Width = 1250

Source code lay d lieu len li: Dim strSQL As String Dim Cnn As New ADODB.Connection strSQL = "select * from NGUYENLIEU" Set Rst = New ADODB.Recordset Rst.CursorLocation = adUseClient Cnn.Open SQLConn Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic SSONXNL.Columns(0).DataField = "nguyenLieu" SSONXNL.Columns(1).DataField = "tennguyenlieu" SSONXNL.Columns(2).DataField = "" SSONXNL.Columns(3).DataField = "" Set SSONXNL.DataSource = Nothing Set SSONXNL.DataSource = Rst : Khi nhan nut Mi e nhap Nguyen lieu mi th cac textbox va combobox nhan focus. : Lu d lieu mi xuong c s d lieu. : Thoat man hnh Nhap xuat nguyen lieu. Tra cu :

Menu Khach hang: hang mi. Menu Nguyen lieu:

Hien th Khach hang va nhap Khach

5.

Hien th danh sach nguyen kieu va Nhap nguyen lieu mi. Menu San pham: Hien th danh sach san pham va nhap san pham mi Menu nh mc san xuat: Hien th danh sach nh mc san xuat va nhap nh mc san xuat cho san pham mi. Man hnh Khach hang :

Hnh 7: Man hnh tra cu, nhap mi khach hang. Source code lay Ma KH len combobox: Dim sqlMKH As String sqlMKH = "Select MaKhachHang from KhachHang order by MaKhachHang asc" Set rsMKH = New ADODB.Recordset rsMKH.Open sqlMKH, Conn, adOpenKeyset, adLockOptimistic Set cboMKH.DataSourceList = rsMKH cboMKH.DataFieldList = "MaKhachHang" cboMKH.Columns(0).Width = 1250 Source code lay d lieu len li: Dim strSQL As String Dim Cnn As New ADODB.Connection strSQL = "select * FROM khachhang" Set Rst = New ADODB.Recordset Rst.CursorLocation = adUseClient Cnn.Open SQLConn Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic SSOkh.Columns(0).DataField = "makhachhang" SSOkh.Columns(1).DataField = "tenkhachhang" SSOkh.Columns(2).DataField = "diachi"

SSOkh.Columns(3).DataField = "dienthoai" Set SSOkh.DataSource = Nothing Set SSOkh.DataSource = Rst : Khi nhan nut mi th cac textbox va combobox nhan focus e nhap thong tin khach hang mi. : Lu d lieu mi xuong C s d lieu. Source code : Private Sub cmdLuu_Click() Dim Str As String Dim Str1 As String If Trim(cboKH.Text) = "" Or Trim(txtTKH.Text) = "" Then MsgBox " Nhap MaKH va TenKH truoc khi luu ", vbOKOnly + vbExclamation, "WARNING" Exit Sub End If Str = "Insert Into KHACHHANG values('" & Trim(cboKH) & "','" & Trim(txtTKH) & "','" & Trim(txtDC) & "','" & Trim(txtDT) & "' ) " Conn.Execute Str Str1 = "update KHACHHANG set maKhachhang='" & Trim(cboKH) & "', TenKhachHang='" & Trim(txtTKH) & "', DiaChi='" & Trim(txtDC) & "', DienThoai='" & Trim(txtDT) & "' WHERE MaKhachHang='" & Trim(cboKH) & "' " Conn.Execute Str1 SSOkh.Update MsgBox "Da luu Khach Hang '" & Trim(cboKH) & "'' vao CSDL", vbOKOnly + vbExclamation, "WARNING" CmdLuu.Enabled = False cmdmoi.Enabled = True End Sub : Thoat man hnh Khach hang. 6. Man hnh Nguyen Lieu :

Hnh 8: Man hnh tra cu, nhap nguyen lieu. Source code lay d lieu len li: Dim strSQL As String Dim Cnn As New ADODB.Connection strSQL = "select * FROM NguyenLieu" Set Rst = New ADODB.Recordset Rst.CursorLocation = adUseClient Cnn.Open SQLConn Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic SSONL.Columns(0).DataField = "NGUYENLIEU" SSONL.Columns(1).DataField = "tennguyenlieu" SSONL.Columns(2).DataField = "donvitinh" Set SSONL.DataSource = Nothing Set SSONL.DataSource = Rst : Khi nhan nut mi th cac textbox nhan focus nhap thong tin nguyen lieu mi. : Lu d lieu mi xuong C s d lieu. : Thoat man hnh Nguyen lieu.

7.

Man hnh San pham :

Hnh 9: Man hnh tra cu, nhap san pham. Source code lay d lieu len li: Dim strSQL As String Dim Cnn As New ADODB.Connection strSQL = "select * FROM sanpham" Set Rst = New ADODB.Recordset Rst.CursorLocation = adUseClient 'Conn.Open SQLConn Cnn.Open SQLConn Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic SSOSP.Columns(0).DataField = "sanpham" SSOSP.Columns(1).DataField = "tensanpham" SSOSP.Columns(2).DataField = "donvitinh" SSOSP.Columns(3).DataField = "dongia" Set SSOSP.DataSource = Nothing Set SSOSP.DataSource = Rst

: Khi nhan nut mi th cac textbox nhan focus nhap thong tin san pham mi. : Lu d lieu mi xuong C s d lieu. Source code Lu: Private Sub cmdLuu_Click() Dim Str As String Dim Str1 As String If Trim(txtSP) = "" Or Trim(txtTSP) = "" Then MsgBox "Phai nhap MaSP & TenSP truoc khi luu ", vbOKOnly + vbExclamation, "WARNING" Exit Sub End If Str = "insert into SANPHAM values('" & Trim(txtSP) & "','" & Trim(txtTSP) & "','" & Trim(txtDVT) & "','" & Trim(txtDG) & "')" Conn.Execute Str Str1 = "update SANPHAM Set sanpham='" & Trim(txtSP) & "',tensanpham='" & Trim(txtTSP) & "',donvitinh='" & Trim(txtDVT) & "',dongia='" & Trim(txtDG) & "' " Conn.Execute Str1 SSOSP.Update MsgBox "Da Luu San Pham '" & Trim(txtSP) & "'' Vao CSDL", vbOKOnly + vbExclamation, "WARNING" CmdLuu.Enabled = False End Sub : Thoat man hnh san pham. 8. Man hnh nh mc san xuat :

Source code lay d lieu len li: Dim strSQL As String Dim Cnn As New ADODB.Connection strSQL = "select * from DinhMucSanXuat" Set Rst = New ADODB.Recordset Rst.CursorLocation = adUseClient Cnn.Open SQLConn Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic SSODMSX.Columns(0).DataField = "nguyenLieu" SSODMSX.Columns(1).DataField = "sanpham" SSODMSX.Columns(2).DataField = "soluongsanxuat" Set SSODMSX.DataSource = Nothing Set SSODMSX.DataSource = Rst : Khi nhan nut mi th cac textbox nhan focus nhap thong tin mi. : Lu d lieu mi xuong C s d lieu. : Thoat man hnh nh mc san xuat. Tnh toan:

Menu Cong n: Bao cao cong n. Menu Ton : Bao cao ton nguyen lieu. Menu Thanh Toan: Hien th tien thanh toan cua khach hang vi cong ty. Man hnh cong n:

: Khi nhan nut mi th cac textbox nhan focus nhap thong tin phieu Cong n mi. : Lu d lieu mi xuong C s d lieu. : Thoat man hnh Ton Nguyen Lieu. Code x ly tnh cong n: Q1: SELECT max(ngaycongNo) AS NgDK FROM CongNo; Q2: SELECT MaKhachHang,TienCongNo As DAU, 0 As SONO , 0 As TTOAN from Q1, CongNo Where NgayCongNo = NgDK UNION Select MaKhachHang, 0 as DAU, Sum(SoLuongDathang * donGia) As SONO, 0 As TTOAN from Q1,ChiTietDondatHang where NgayKiKet = NgDK and NgayKiKet < DateAdd("m",1,NgDK) UNION Select maKhachHang, 0 As DAU,0 As SONO, Sum(ChiTietGiaoNhan.soluong * ChiTietGiaoNhan.dongia) As TTOAN from Q1, ChiTietGiaoNhan where NgayThanhToan = NgDK and NgayThanhToan < DateAdd("m",1,NgDK) group by MaKhachHang; Q3: Insert Into CongNo(NgayCongNo,MaKhachHangTiencongNo) Select DateAdd("m",1,ngDK), MaKhachHang,Sum(Dau) + Sum(soNo)

Sum(TToan) from Q1, Q2 Group By DateAdd(m,1,ngDK), MaKhachHang Having Sum(Dau) + Sum(soNo) Sum(TToan) <> 0; Q4: Delete * from CongNo where NgayCongNo In(Select max(NgayCongNo) from CongNo) and NgayCongNo Not in (Select min(NgayCongNo) from CongNo); Man hnh Ton Nguyen Lieu:

: Khi nhan nut mi th cac textbox nhan focus nhap thong tin san pham mi. : Lu d lieu mi xuong C s d lieu. : Thoat man hnh Ton Nguyen Lieu. Code x ly tnh ton: Q1 SELECT max(ngayton) AS NgDK FR1OM Ton; Q2

SELECT MaKhachHang,NguyenLieu,Soluongton as Dau,0 as Nhap,0 as Xuat from Q1,Ton where ngayTon=NgDK union select NguyenLieu,SoLuongTon, 0 as Dau,Sum(SoHoaDonNhapXuat) as Nhap,0 as xuat from Q1,NhapXuatNguyenLieu inner join ChitietNguyenLieu on NhapXuatNguyenLieu.SohoaDonNhap=ChitietNguyenLieu.SohoaDonNhap where NgayNhap = NgDK and NgayNhap<=DateAdd("m",1,ngDK) group by MaKhachHang,NguyenLieu UNION select soPhieu,SoDondatHang, 0 as Dau,0 as Nhap, sum(soluong) as Xuat from Q1,GiaoNhan Inner Join ChiTietGiaoNhan On GiaoNhan.SoPhieu= ChiTietGiaoNhan.SoPhieu where NgayGiao=ngDK and NgayGiao <= dateAdd("m",1,ngDK) group by soPhieu, SoDonDatHang; Q3: SELECT SoPhieu,SoDonDatHang,Sum(dau) + sum(Nhap) - Sum(Xuat) as SoTon from Q2 group by SoPhieu,SoDonDatHang Into TAM; Q4: Insert Into TAM select soPhieu,Sodondathang, SoLuong* SoLuongSanXuat as SoTon from TAM Inner Join GiaoNhan on Tam.SoDonDatHang=GiaoNhan.SoDonDatHang; Q5: (xoa nhng thanh phan co so ton < 0) Delete * From TAM where SoTon < 0; Q6: (Tnh, lu lai): Insert into Ton(MakhachHang, NguyenLieu,SoLuongTon) select MakhachHang, NguyenLieu,Sum(SoTon), DateAdd(m,1,NgDK) from Q1, TAM group by maKhachHang, NguyenLieu, Having soTon > 0, DateAdd("m",1,ngDK); Q7: (Xoa Table TAM): Drop Table TAM; Man Hnh Thanh toan:

Code x ly cho nut Lu: Private Sub cmdLuu_Click() Dim Str As String Dim Str1 As String If Trim(cboKH.Text) = "" Or Trim(txtsott.Text) = "" Then MsgBox " Nhap So TT va MaKH truoc khi luu ", vbOKOnly + vbExclamation, "WARNING" Exit Sub End If Str = "Insert Into ThanhToan values('" & Trim(txtsott) & "','" & Trim(txtNgay) & "','" & Trim(cboKH) & "','" & Trim(txtTientt) & "' ) " Conn.Execute Str Str1 = "update ThanhToan set sothanhToan='" & Trim(txtsott) & "', NgayThanhToan='" & Trim(txtNgay) & "', MaKhachHang='" & Trim(cboKH) & "', TienThangToan='" & Trim(txtTientt) & "' WHERE soThanhToan='" & Trim(txtsott) & "' " Conn.Execute Str1 SSOTT.Update MsgBox "Da luu So Thanh Toan '" & Trim(txtsott) & "'' vao CSDL", vbOKOnly + vbExclamation, "WARNING" cmdLuu.Enabled = False cmdmoi.Enabled = True End Sub Bao Bieu:

Menu n at hang: Bao cao danh sach at hang cua khach hang. Menu Nhap xuat NL: Bao cao nhap nguyen lieu. Menu Giao nhan: Bao cao giao nhan san pham. Menu cong n: Bao cao cong n. Menu Ton: Bao cao ton nguyen lieu. Menu thanh toan: Bao cao thanh toan cua khach hang. Man Hnh bao bieu n at Hang :

Man Hnh bao bieu Nhap xuat Nguyen lieu :

Man Hnh bao bieu Giao nhan :

Man Hnh bao bieu Cong n Khach hang:

Man Hnh bao bieu Ton:

Man hnh bao bieu Thanh toan :

You might also like