• E tạo Form nhập liệu cho table ma không dc
  • E tạo Form nhập liệu cho table ma không dc

    BUIHUUDIEN > 22-08-16, 04:08 PM


    E muốn tạo:
    - 1 combo box "mã nvl"
    - 2 text box "tên nvl" , "đvt" nó nhảy theo combo box "mã hàng".
    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"
    mong anh chị e hỗ trợ!!!
    [Hình: open?id=0B9_X-lUcR0E1OWpib2RhZjNuckk]
    FILE của e tại đây: https://drive.google.com/file/d/0B9_X-lU...sp=sharing
  • RE: E tạo Form nhập liệu cho table ma không dc

    cpucloi > 22-08-16, 04:50 PM

    1. Phải gửi file lên mọi người mới giúp đỡ nhanh được.
    2. Diễn đạt rõ ràng hơn.

    Bạn kiểm tra cách đặt tên của các Filed và cách gọi chúng nhé.
    ===> nhìn chỗ Xuat.tenhang dễ sai lắm nhé.
  • RE: E tạo Form nhập liệu cho table ma không dc

    BUIHUUDIEN > 22-08-16, 07:50 PM

    khó quá ta
  • RE: E tạo Form nhập liệu cho table ma không dc

    toancvp > 22-08-16, 10:08 PM

    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.
  • RE: E tạo Form nhập liệu cho table ma không dc

    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.

    đúng như bạn nói bỏ chọn bắt buộc nhập thì nó chỉ hiện lên thôi chứ không có lưu lại trên table!! mình làm theo như bạn mà ko đc
    021[Hình: open?id=0B9_X-lUcR0E1dDQwOURDbmJFWk0]
  • RE: E tạo Form nhập liệu cho table ma không dc

    toancvp > 23-08-16, 01:04 PM

    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é:
    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.
  • RE: E tạo Form nhập liệu cho table ma không dc

    ongke0711 > 23-08-16, 02:29 PM

    (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.
  • RE: E tạo Form nhập liệu cho table ma không dc

    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.

    mình cũng làm như dậy rồi nó không báo lỗi nữa. Nhưng nó không lưu vào table Xuất. nó trống trơn ah!! tìm cánh nào mà nó phải lưu đc vào table.
  • RE: E tạo Form nhập liệu cho table ma không dc

    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é:
    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.
    Đ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"
    [Hình: open?id=0B9_X-lUcR0E1S2FpREttZTllVm8]
  • RE: E tạo Form nhập liệu cho table ma không dc

    toancvp > 23-08-16, 05:02 PM

    Bạn đã enable content trong cái thông báo sercurity của access chưa, file này bạn ko tự tạo mà down mạng về phải cho phép nó chạy vba thì mới được.