• DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    ongke0711 > 18-08-21, 07:31 PM

    (18-08-21, 07:13 PM)dotrung Đã viết: Bị lỗi phần khai báo biến rTonNgay As DAO.Recordser nên em không chạy được ạ

    Lỗi chính tả thôi mà. -> Recordset
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    dotrung > 18-08-21, 08:22 PM

    Dạ vẫn còn lỗi nạp tồn đầu, hic hic
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    Xuân Thanh > 18-08-21, 08:25 PM

    (18-08-21, 08:22 PM)dotrung Đã viết: Dạ vẫn còn lỗi nạp tồn đầu, hic hic

    Đã thực hiện chạy code TinhTonKho(Month(TuNgay), Year(TuNgay)) chưa? Phải thực hiện code này trước mới có Tồn Đầu Kỳ. Copy lại đoạn code đã sửa #20
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    dotrung > 18-08-21, 09:27 PM

    Em vẫn bị lỗi nữa anh Thanh ơi, mong anh chỉ chỗ sai giúp em ạ, cảm ơn anh!

    file đính kèm : https://www.mediafire.com/file/zenqijd65...accdb/file
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    Xuân Thanh > 18-08-21, 10:03 PM

    1/ Nạp không đầy đủ các table như đã đề xuất(tblTonKhoNgay)
    2/ Không tính tồn kho liên tục của các tháng nên không có số liệu Tồn Đầu Kỳ của tblTonKho
    3/ Chưa sửa lại hàm theo bài #20
    4/ Làm lại như đã hướng dẫn
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    dotrung > 19-08-21, 11:35 AM

    Em đã làm theo hướng dẫn nhưng khi call (tungay,denngay) bị lỗi đoạn 
    Trích dẫn:CongThemTonDau:
       
        If rnx.RecordCount > 0 Then rnx.MoveFirst
        Do Until rnx.EOF
            rTonNgay.Seek "=", rnx!MaKho & "-" & rnx!MaHang
            If rTonNgay.NoMatch Then
                rTonNgay.AddNew
                rTonNgay.RecKey = KhoaMoi & "-" & rnx!MaKho & "-" & rnx!MaHang
                rTonNgay!MaKho = rnx!MaKho
                rTonNgay!MaHang = rnx!MaHang
                rTonNgay!TonDau = 0: rTonNgay!TienDau = 0: rTonNgay!Tongnhap = 0: rTonNgay!TienNhap = 0
                rTonNgay!Tongxuat = 0: rTonNgay!Tienxuat = 0: rTonNgay!TonCuoi = 0: rTonNgay!TienCuoi = 0
                rTonNgay.update
                rTonNgay.Bookmark = rTonNgay.LastModified
          End If
    link : https://www.mediafire.com/file/m6lkpzo9o...accdb/file
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    Xuân Thanh > 19-08-21, 01:00 PM

    rTonNgay.RecKey = rnx!MaKho & "-" & rnx!MaHang
    Sory vì sau khi copy quên xóa đoan đầu. Sủa lại là ok
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    dotrung > 19-08-21, 01:21 PM

    Hic Hic, em mò vẫn chưa ra ạ!

    [img] https://uphinh.org/image/O5wgbN [/img]
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    ongke0711 > 19-08-21, 04:51 PM

    (19-08-21, 01:21 PM)dotrung Đã viết: Hic Hic, em mò vẫn chưa ra ạ!

    [img] https://uphinh.org/image/O5wgbN [/img]

    Bạn chưa hiểu rõ code nó hoạt động như thế nào mà đem vào ráp nối thì nó báo lỗi tùm lum.
    1. Gõ lệnh test trong cửa sổ Immediate cũng sai: biến ngày phải được đưa vô cặp dấu #...# thì VBA mới hiểu đó mà Date.
        Vd: ?TinhTonKhoNgay(#1/1/2021#,#15/8/2021#)

    2. Code của bác Thanh nó cũng hơi cổ như tuổi của bác nên còn dùng các phương thức như: Seek, dbOpenTable. Hiện tại thì chạy được (dùng local table), sau này bạn đổi qua dùng linked Table là báo lỗi ngay. Seek đổi qua FindFirst, dbOpenTable --> dbOpenDynaset. Bạn tự tìm từ khoá FindFirst để biết cách dùng.

    3. Sửa: rTongNgay.Reckey --> rTonNgay!Reckey

    4. Về cái lỗi rnx!MaHang, có 2 nguyên nhân: 
    - Nguyên nhân đầu tiên là do gõ tham số Ngày sai ở mục 1 đã nói.
    - Nguyên nhân thứ 2: là do dữ liệu có các record rác tức là tblPhieuNhapXuat có "Số chứng từ" nhưng trong table con tblPhieuNhapXuatChiTiet là không có dữ liệu cho "số CT" này (PN2021060040,PN2021080065,PN2021080066). Đúng ra là không được lưu các Record dạng này --> phải xem lại thiết kế form nhập liệu của trường hợp này, bẫy lỗi không cho lưu nếu không đủ dữ liệu.

    Vì table chi tiết không có dữ liệu nên các rnx!MaKho,=NULL, rnx!MaHang =NULL --> báo lỗi như hình.
    Muốn bẫy cái lỗi này cũng được bằng cách thêm câu lệnh kiểm tra:

    Mã PHP:
    Do Until rnx.EOF
            
    If Not IsNull(rnx!MaHangThen
                TonNgay
    .Seek "="rnx!MaKho "-" rnx!MaHang
                
    ...        
                
    ...

            End If
            rnx.MoveNext
    Loop 
  • RE: DeMo tính tồn kho cho nhiều kho dùng hai table Nhập Xuất riêng biệt

    dotrung > 19-08-21, 10:21 PM

    Em đã xóa các dữ liệu dư rồi nhưng vẫn lỗi.
    Do chỉ học access căn bản, tự học qua sách và trên diễn đàn của mình nên tư duy lập trình của mình còn yếu.