Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Lỗi] Giá trị = 0 bị mất ở 1 số máy
#1
Mình bị lỗi như sau: 
Trước khi Chọn tên Khách hàng giá trị Default Value đã được đặt = 0 và hiển thị đúng:
[Hình: OYCJrrz.jpg]
Sau khi chọn Khách hàng nó tự biến mất cái giá trị 0 đó, nên mỗi lần cộng tổng nó không tự cộng kết quả vì không hiểu biểu thức
[Hình: dxbBfEd.jpg]

Mình up code lên mong mọi người giúp đỡ
Download
P/s: Thêm 1 chút là vẫn bản code này máy ở cơ quan mình dùng Win7 Office2k7 lại không bị lỗi như vậy, máy mình chạy W10 office13 và máy ảo dùng Win7 Office2k7 đều gặp lỗi như trên
Reply
Những người đã cảm ơn
#2
Bạn dùng hàm Nz cho công thức Dsum khi combobox mã khách hàng AfterUpdate.
Me.Controls("TxtSumSA" & i) = Nz(DSum("SoLuong", "Dat-hang-ngay", "Loai='SA" & i & "' And MaKH='" & Me.CboMaKHS & "'") + Me.Controls("TxtSLSA" & i), 0)
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , tranthanhan1962 , maidinhdan , k3nzyyb
#3
Hàm Dsum sẽ trả về giá trị Null khi không tìm thấy các giá trị số mà bạn muốn tổng hợp. Vì vậy Khi chưa có record nào của loại hàng bạn muốn cộng số lượng nó sẽ trả về null. Vì vậy giải pháp thứ nhất là bạn dùng hàm Nz theo cách của bạn ongke0711 , giải pháp thứ 2 là dùng hàm IIf để chuyển giá trị Null về 0.
Thực ra ứng dụng của bạn đâu có gì phức tạp. Chỉ cần tạo một Continuous Forms nhập dữ liệu giống như table dat-hang có các textbox Ngay, Soluong; các combobox chọn MaKH, Loai. Rồi thêm một textbox Locngay trên Form Header để lọc các record trong ngày (Nếu cần thiết thì thêm một combobox lọc khách hàng)  là xong. Muốn tổng công thì thêm các textbox Sum ở Form Footer. Vừa nhẹ nhàng, khó lỗi, khó bị nhầm lẫn. Hì hì nhìn thấy ma trận các ô của bạn mình thấy ngộp quá.
Mình chỉ góp ý với bạn một tí, có gì thì bạn sorry nha. Đối với mình thì khi write một ứng dụng mình tìm mọi cách đơn giản nhất để xử lý, càng tránh những trường hợp tạo sự nhầm lẫn cho người nhập liệu. Bảng nhập liệu của bạn chỉ cần cẩu thả một tí sẽ bấm sai ô ngay.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , maidinhdan , k3nzyyb
#4
(18-10-15, 08:06 PM)tranthanhan1962 Đã viết: Hàm Dsum sẽ trả về giá trị Null khi không tìm thấy các giá trị số mà bạn muốn tổng hợp. Vì vậy Khi chưa có record nào của loại hàng bạn muốn cộng số lượng nó sẽ trả về null. Vì vậy giải pháp thứ nhất là bạn dùng hàm Nz theo cách của bạn ongke0711 , giải pháp thứ 2 là dùng hàm IIf để chuyển giá trị Null về 0.
Thực ra ứng dụng của bạn đâu có gì phức tạp. Chỉ cần tạo một Continuous Forms nhập dữ liệu giống như table dat-hang có các textbox Ngay, Soluong; các combobox chọn MaKH, Loai. Rồi thêm một textbox Locngay trên Form Header để lọc các record trong ngày (Nếu cần thiết thì thêm một combobox lọc khách hàng)  là xong. Muốn tổng công thì thêm các textbox Sum ở Form Footer. Vừa nhẹ nhàng, khó lỗi, khó bị nhầm lẫn. Hì hì nhìn thấy ma trận các ô của bạn mình thấy ngộp quá.
Mình chỉ góp ý với bạn một tí, có gì thì bạn sorry nha. Đối với mình thì khi write một ứng dụng mình tìm mọi cách đơn giản nhất để xử lý, càng tránh những trường hợp tạo sự nhầm lẫn cho người nhập liệu. Bảng nhập liệu của bạn chỉ cần cẩu thả một tí sẽ bấm sai ô ngay.

Cảm ơn 2 bạn đã giúp đỡ, mình mới học nên còn gà lắm, mình cũng đang cần gấp ứng dụng này mà lại ko có thời gian nên chưa tối ưu đc. Chứ sau này có time mình cũng sẽ sửa lại code làm sao đơn giản nhất như bạn nói ^^  007
Chữ ký của k3nzyyb Xin chào, mình là k3nzyyb, Tham gia http://thuthuataccess.com/forum từ ngày 22-11 -14.
Reply
Những người đã cảm ơn


Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ