BUIHUUDIEN > 22-08-16, 04:08 PM
cpucloi > 22-08-16, 04:50 PM
BUIHUUDIEN > 22-08-16, 07:50 PM
toancvp > 22-08-16, 10:08 PM
BUIHUUDIEN > 23-08-16, 09:59 AM
(22-08-16, 10:08 PM)toancvp Đã viết: Theo mình thì lý do là như này:
Mặc dù textbox của bạn là "Tên NPL" nhưng control source thực tế ko phải là [TENNPL] mà bạn nhét cho nó 1 công thức, vì vậy nó chỉ được access coi như một textbox tạm thời thôi. Mặc dù khi chọn MANPL bạn thấy giá trị các textbox đó được hiển thị nhưng không có nghĩa nó điền thông tin vào fiel [TENNPL] đâu.
Để kiểm chứng thì bạn thay đổi lại design của table, bỏ chế độ bắt buộc nhập của 2 field [TENNPL] và [DVT], và quay lại dùng form nhập, lưu lại thì bạn sẽ thấy thực sự 2 textbox đó đã ko nhập dữ liệu, mặc dù vẫn hiện giá trị.
Để xử lý cái này thì bạn chuyển lại control source về ban đầu, đưa vào event after update của [MaNVL] đoạn code này:
Me.TENNVL = Me.MANVL.Column(1)
Me.DVT = Me.MANVL.Column(2)
Ngoài ra, mình thấy cách bạn tạo combo box [MaNVL] cũng khác cách mình làm quá nên không dám nói nó đúng hay sai, nhưng nó làm đoạn code trên có vấn đề, bạn nên tìm hiểu lại cách tạo combo box. Cả cái text box số lượng cũng cần bỏ cái defalt value đi, cái đó ko cần thiết.
toancvp > 23-08-16, 01:04 PM
ongke0711 > 23-08-16, 02:29 PM
BUIHUUDIEN > 23-08-16, 04:48 PM
(23-08-16, 02:29 PM)ongke0711 Đã viết:(22-08-16, 04:08 PM)BUIHUUDIEN Đã viết:
...
Nhưng khi lưu dữ liệu vừa nhập thì báo lỗi " you must anter a value in the 'Xuat.ten nvl' file"
...
Báo lỗi là do trong table Xuat, trường [ten nvl] bạn thiết lập thuộc tính Required: YES nên khi bạn để trống field này nó phải la làng lên bắt nhập.
BUIHUUDIEN > 23-08-16, 04:52 PM
(23-08-16, 01:04 PM)toancvp Đã viết: Sau khi làm lại file của bạn mình cũng ko hiểu sao mà bị báo lỗi suốt, cái này thì mình chưa đủ khả năng tư vấn, nên mình làm lại file của bạn như sau, bạn thử làm y chang vậy thử xem nhé:Đa tạ sư huynh rất nhiều! khi mở file lên thử nhập vào thì 2 trường "tenNVL" và "DVT" không nhảy theo "maNVL"
1 ./. Tạo bảng Tbl_DanhMucNVL:
MaNVL (khóa chính, short text, format >)
TenNVL (short text)
DonViTinh (short text, format>)
2 ./. Tạo bảng Tbl_XUAT:
ID (khóa chính, auto number)
Ngay (date / time)
MaNVL (lookup winzard, chọn bảng Tbl_DanhMucNVL, chọn toàn bộ 3 field, cuối cùng chọn MaNVL làm field value)
TenNVL (short text)
DVT (short text, format>)
SoLuong (number; bỏ defalt value đi)
-------------------
3 ./. tạo subform như cách bạn tạo, đặt tên là Frm_XUAT_sub
4 ./. tạo Form chính như sau.1. Creat Form design .2.Chọn data cho form là Tbl_XUAT
5 ./. Sau đó kéo tất cả các Field vào form; kéo cái subform phía trên vào đó, bạn phải lựa chọn bỏ Link Master Field và Link Child Field đi nhé
6 ./. Click vào MaNVL, vào event trong propertise, click vào event after update và copy đoạn code này vào:
Me.TenNVL = Me.MaNVL.Column(1)
Me.DVT = Me.MaNVL.Column(2)
(Đây là giải quyết việc nhảy kết quả cho Tên NVL và Đơn vị tính)
7 ./. Cho đoạn code này vào event after update của frm_XUAT
Me.Frm_XUAT_sub.Requery
(Đây là để cái sub tự động update khi bạn save frm_XUAT)
Bạn xem file của mình nhé.
https://drive.google.com/open?id=0B4WYRA...HdtM1ptdFU
P/S: Lần tới để được các pro tư vấn nhanh thì bạn nên save as file sang access 2003, vì hầu hết các pro trên 4rum dùng access 2003, file của bạn các anh đấy ko mở ra đc đâu.
toancvp > 23-08-16, 05:02 PM