• Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    ongke0711 > 21-07-23, 11:39 AM

    (21-07-23, 11:18 AM)huyhoang22 Đã viết: cái hướng của bạn mình cũng nghĩ qua và đã gán row source sau khi load form nhưng nó vẩn báo lỗi bạn à. cái lot no là mình copy từ file gốc sang quên chưa bỏ đi. nhưng về cơ bản cứ tham chiếu control là Class C01 nó báo lỗi. bạn có thể giúp mình fix vấn đề này với. mình đang rất cần nó.

    thanks bạn giúp đỡ.

    Cơ bản là hạn chế dùng Subquery vì nó sẽ chạy chậm và đặc biệt làm dùng làm Source cho các control vì mỗi lần kích hoạt combo là nó sẽ phải requery lại thay vì chỉ mở danh sách có sẳn. Dùng SubQuery để lấy dữ liệu cho các báo cáo, tạo bảng dữ liệu tạm...
    Bạn gán row source sau khi load form như thế nào?
    Đối với việc dùng Class tìm kiếm comboBox, nó nhận Source của comboBox ngay khi khởi tạo và lưu vào biến để lọc sau này, nếu bạn thay đổi source combo thì phải khởi tạo lại class, gán source mới cho class comboBox đó. Mỗi lần thay đổi là mỗi lần tạo lại class.
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    huyhoang22 > 21-07-23, 12:23 PM

    Mình có file minh họa ở file đó bạn. mục tiêu của mình là luôn load lại sự kiện khi có thay đổi nhằm tính tồn tại thời điểm hiện tại. mình không giỏi về VBE nên chỉ có thể dùng query để làm vấn đề này. bạn có thể làm giúp mình là làm sao khi có sự thay đổi về số lượng hoặc thêm mã hàng vào thì combo nó sẽ tính tồn lại không?
    nếu không có class hổ trợ tìm kiếm thì mình làm ok nhưng mình lại cần class này để nhằm mục đích tìm kiếm nhanh mã hoặc tên sản phẩm khi thao tác.

    tks bạn.
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    ongke0711 > 21-07-23, 08:02 PM

    Bạn xem file đính kèm.
    Link: https://www.mediafire.com/file/z8szz7jup...accdb/file

    Tôi sửa:
    - Bỏ code tạo Query S01. Dùng hàm DMax () lấy thông tin đưa vào biến thay vì phải khởi tạo Recordset, tạo mới Query, lưu xuống...-> chậm.
    - Chỉ gán Row Source cho comboBox [Code] khi có cập nhật lại Created Date.
    - Row source cho combo chỉ cần dùng GroupBy Query là được rồi, đâu cần dùng thêm SubQuery cho nó chậm tốc độ xử lý.

    Một vấn đề khác bạn cần ngâm cứu xử lý là đối với Form nhập liệu kiểu bạn đang làm: mỗi khi mở Form là nó tải toàn bộ Table T06, 07 lên Form, sau này dữ liệu lên đến vài chục ngàn, trăm ngàn dòng thì Form mở lên sẽ ì ạch ngay. Thông thường không ai làm vậy. Form để xem, lọc dữ liệu là Form riêng và chỉ tải một lượng dữ liệu có chọn lọc theo tiêu chí nào đó (Vd: năm, 3 tháng, v.v..), khi nhập điều kiện tìm kiếm thì mới tải dữ liệu theo yêu cầu lên xem. Sau đó muốn sửa hay nhập liệu sẽ mở một Form khác hoàn toàn không có Reocrd Source để nhập liệu cho nó nhẹ nhàng.

    Ví dụ:

    [Hình: IUiBxeb.png]
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    huyhoang22 > 21-07-23, 08:42 PM

    (21-07-23, 08:02 PM)ongke0711 Đã viết: Bạn xem file đính kèm.
    Link: https://www.mediafire.com/file/z8szz7jup...accdb/file

    Tôi sửa:
    - Bỏ code tạo Query S01. Dùng hàm DMax () lấy thông tin đưa vào biến thay vì phải khởi tạo Recordset, tạo mới Query, lưu xuống...-> chậm.
    - Chỉ gán Row Source cho comboBox [Code] khi có cập nhật lại Created Date.
    - Row source cho combo chỉ cần dùng GroupBy Query là được rồi, đâu cần dùng thêm SubQuery cho nó chậm tốc độ xử lý.

    Một vấn đề khác bạn cần ngâm cứu xử lý là đối với Form nhập liệu kiểu bạn đang làm: mỗi khi mở Form là nó tải toàn bộ Table T06, 07 lên Form, sau này dữ liệu lên đến vài chục ngàn, trăm ngàn dòng thì Form mở lên sẽ ì ạch ngay. Thông thường không ai làm vậy. Form để xem, lọc dữ liệu là Form riêng và chỉ tải một lượng dữ liệu có chọn lọc theo tiêu chí nào đó (Vd: năm, 3 tháng, v.v..), khi nhập điều kiện tìm kiếm thì mới tải dữ liệu theo yêu cầu lên xem. Sau đó muốn sửa hay nhập liệu sẽ mở một Form khác hoàn toàn không có Reocrd Source để nhập liệu cho nó nhẹ nhàng.

    Ví dụ:

    [Hình: IUiBxeb.png]

    Bạn ơi có vấn đề ở đây là cái ngày bạn lại cố định vào form mà ngày mình muốn là nó luôn thay đổi tùy theo ngày nhập. và combo code lại không load được hổ trợ tìm kiếm, mình gửi file gốc mình có tính tồn bằng query cho bạn để hình dung hơn mình có minh họa kèm hình ảnh bạn xem cố giúp mình với

    File Demo
    tks!
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    huyhoang22 > 21-07-23, 08:57 PM

    Mình bỏ qua cái vấn đề load dữ liệu nặng đi vì mình cũng hiểu nếu dữ liệu về lâu về dài nó nặng nhưng cái mình cần là tính được tồn online và khống chế nếu không có tồn không cho xuất.

    Dmax chỉ tìm kiếm max của toàn bộ Record mà mình lại muốn tạo phiếu Max theo ngày, có nghĩa là tổng số phiếu trọng 1 ngày.
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    ongke0711 > 21-07-23, 10:01 PM

    (21-07-23, 08:57 PM)huyhoang22 Đã viết: Mình bỏ qua cái vấn đề load dữ liệu nặng đi vì mình cũng hiểu nếu dữ liệu về lâu về dài nó nặng nhưng cái mình cần là tính được tồn online và khống chế nếu không có tồn không cho xuất.

    Dmax chỉ tìm kiếm max của toàn bộ Record mà mình lại muốn tạo phiếu Max theo ngày, có nghĩa là tổng số phiếu trọng 1 ngày.
    Bạn xem kỹ code chưa vậy? Làm gì có chuyện cố  định ngày trên Form??
    Đọc lại lý thuyết cách dùng hàm Dmax đi nhé.
    Còn việc tính tồn thì có liên quan gì đến việc load dữ liêu lên Form nhỉ?
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    huyhoang22 > 21-07-23, 10:10 PM

    Bạn chưa hiểu dụng ý của mình thiết kế form là khống chế người nhập liệu không được nhập quá số lượng tồn của mã và lotno, vì mình đang tính tồn kho theo mã và lotno.

    mục đích cơ bản của mình là khi nhập liệu sẽ tựng động tính tồn kho và người nhập liệu không thể xuất số lượng lớn hơn số tồn kho (mà tồn kho thì theo Code, kho,lotno)
    một mã có thể nhập nhiều dòng vì có thể rất nhiều lotno

    mình chỉ khống chế tồn trong form xuất còn form nhập không khống chế tòn.

    tks bạn.
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    ongke0711 > 21-07-23, 10:22 PM

    Vấn đề tính tồn kho khi nhập liệu là cơ bản rồi bạn, tôi còn tính ra đơn giá nhập xuất bình quân gia quyền để tính giá trị tồn kho nữa bạn à. 
    Trên máy tôi test thì combo Code vẫn tìm kiếm bình thường, chỉ có vấn đề là nếu chọn ngày không có dữ liệu thì lấy gì mà tìm kiếm. Bạn đưa dữ liệu nhiêu đó thì tôi chỉ biết xử lý nhiêu đó thôi.
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    huyhoang22 > 21-07-23, 10:29 PM

    Ok bạn để mai mình load thêm dữ liêu bạn có thể giúp mình tính tồn theo như mình muốn không nhé, cảm ơn ban trươc. khuya rồi chúc bạn ngủ ngon

    tks
  • RE: Xin giúp đỡ sao sự kiện không chạy khi ta gọi lệnh call

    huyhoang22 > 22-07-23, 09:28 AM

    Chào bạn chúc ngày mới nhiều tốt lành!
    mình lại làm phiền bạn.

    mình mới update dữ liệu thêm vào và có video mô tã mình mong muốn như đã nói ở trên . nhờ bạn giúp mình tính tồn trong form nhập liệu khống chế người dùng không xuất số lượng quá số lượng tồn kho theo lotno và combo vẩn hoạt động bình thường. rất mong được sự giúp đở của bạn.

    link mình mới update dữ liệu.https://www.mediafire.com/file/1k5hm5ya2...o.rar/file