Cannot perform cascading operation. It would result in a duplicate key in table

Liên hệ QC

nest2894

Thành viên mới
Tham gia
1/6/19
Bài viết
8
Được thích
0
Chào mọi người, em đang gặp vấn dề với Form:
221868

em làm theo các bước: create form by using wizard -> chọn các field MAKH, TENKHACH; DIACHI (bảng khachhang); MASD (bảng chitiet); Loaisd(bảng sudung); SOKW (chitiet); dongia (sudung); thanhtien(chitiet) -> Next -> Next -> Next -> finish.
221872

Form đã tạo được nhưng khi thay đổi tên KH thì xuất hiên lỗi:

221869
Lỗi xuất hiện khi Click vao vùng Subform.
Xin mọi người hướng dẫn làm sao giải quyết lỗi này ạ.
Chi tiết trong file dinh kem ạ
 

File đính kèm

  • Bai1.rar
    37.6 KB · Đọc: 2
Tạo 1 form có subform thì thông thướng phải tạo dữ liệu 2 bảng riêng cho form và cho subform, 2 bảng này có quan hệ cha con.
Nếu muốn nhập liệu kiểu của bạn thì các field của main form không được phép là cột dữ liệu của Sub mà phải là trường Unbound (không lưu xuống bảng nào). Đồng thời trong subform cũng phải có cột MaKH lấy ra ngoài để lấy thông tin từ main xuống khi tạo mới.
Sửa cho chạy theo ý của bạn chứ chưa cải tiến gì.
Có sửa vài field thành dạng combobox cho đúng chứ mấy cột trường khóa không được phép gõ tay, combobox của main form có 3 column ứng với 3 field của main.
 

File đính kèm

  • Bai1Ptm.rar
    25 KB · Đọc: 3
Tạo 1 form có subform thì thông thướng phải tạo dữ liệu 2 bảng riêng cho form và cho subform, 2 bảng này có quan hệ cha con.
Nếu muốn nhập liệu kiểu của bạn thì các field của main form không được phép là cột dữ liệu của Sub mà phải là trường Unbound (không lưu xuống bảng nào). Đồng thời trong subform cũng phải có cột MaKH lấy ra ngoài để lấy thông tin từ main xuống khi tạo mới.
Sửa cho chạy theo ý của bạn chứ chưa cải tiến gì.
Có sửa vài field thành dạng combobox cho đúng chứ mấy cột trường khóa không được phép gõ tay, combobox của main form có 3 column ứng với 3 field của main.
Vay nếu dung Text Box MaKH còn TenKH và Diachi chay theo như Subform dc ko ạ?
Em thu ham =DLookUp("[TenKH]","KHACHHANG","[MaKH]=" & [Forms]![KHACHHANG1]![MaKH]) nhưng không hoạt động.
Bang mới tạo là KHACHHANG1
 

File đính kèm

  • Bai1Ptm_REV2.rar
    34.4 KB · Đọc: 1
Nếu bạn đang muốn nhập liệu hàng ngày, và làm đúng chuẩn cấu trúc dữ liệu thì:
- Phương án 1: sử dụng bảng đơn và nhập liệu trực tiếp vào bảng đó: form không có sub
- Phương án 2: tạo 2 bảng data hàng ngày, 1 cha, 1 con liên kết bằng ID bảng cha. Bảng cha dùng cho main form, bảng con dùng cho sub form.

Còn hiện tại bạn đang nhập liệu vào query chứ không phải vào bảng data, thì dù có xoay sở thế nào cũng vẫn sẽ bị không lỗi này thì lỗi kia

TB: Trừ khi câu phỏng đoán của tôi sai, cái bạn muốn không phải là nhập liệu hàng ngày
 
Vay nếu dung Text Box MaKH còn TenKH và Diachi chay theo như Subform dc ko ạ?
Em thu ham =DLookUp("[TenKH]","KHACHHANG","[MaKH]=" & [Forms]![KHACHHANG1]![MaKH]) nhưng không hoạt động.
Bang mới tạo là KHACHHANG1
Em tìm thấy link chỉ cách làm giống em ở đầu câu hỏi: (46 phú 45 giây bắt đầu tạo Form)
Đã thử làm theo cà em vẫn bị như cũ. Nếu vậy sao người ta còn hướng dẫn cách này ạ?

Link tới CSDL
https://drive.google.com/drive/fold...JXMTJaWEl1MzR0eXhjV1JsaTM3QkY3bVBoNXl1MWRtZEE
Bài đã được tự động gộp:

Nếu bạn đang muốn nhập liệu hàng ngày, và làm đúng chuẩn cấu trúc dữ liệu thì:
- Phương án 1: sử dụng bảng đơn và nhập liệu trực tiếp vào bảng đó: form không có sub
- Phương án 2: tạo 2 bảng data hàng ngày, 1 cha, 1 con liên kết bằng ID bảng cha. Bảng cha dùng cho main form, bảng con dùng cho sub form.

Còn hiện tại bạn đang nhập liệu vào query chứ không phải vào bảng data, thì dù có xoay sở thế nào cũng vẫn sẽ bị không lỗi này thì lỗi kia

TB: Trừ khi câu phỏng đoán của tôi sai, cái bạn muốn không phải là nhập liệu hàng ngày
Em chỉ muốn làm như kiểu tìm kiếm thôi ạ. Làm theo yêu cầu đề trên mạng mà gặp lỗi nên lên hỏi mấy anh.
 
1. Cách tạo table ChiTiet của bạn sai: Table không có khóa chính của chính nó, và bạn lấy 2 cột liên kết dùng làm khóa chính. Vì vậy nó luôn thông báo trùng dữ liệu và không cho lưu.
2. Nếu làm đúng theo video mà dữ liệu đúng như (1) thì có thể vừa tìm kiếm vừa nhập liệu. Bạn còn làm sai sai chỗ nào đó.
 

File đính kèm

  • Bai1PtmVer2.rar
    36.9 KB · Đọc: 4
1. Cách tạo table ChiTiet của bạn sai: Table không có khóa chính của chính nó, và bạn lấy 2 cột liên kết dùng làm khóa chính. Vì vậy nó luôn thông báo trùng dữ liệu và không cho lưu.
2. Nếu làm đúng theo video mà dữ liệu đúng như (1) thì có thể vừa tìm kiếm vừa nhập liệu. Bạn còn làm sai sai chỗ nào đó.
Cảm ơn anh nhưng theo anh Video có vấn đề không ạ? Em nhận thấy họ không thêm Field liên kết giữa main forrm và Subforrm (SoHD) khi tạo Forrm Wizard.
 
Cảm ơn anh nhưng theo anh Video có vấn đề không ạ? Em nhận thấy họ không thêm Field liên kết giữa main forrm và Subforrm (SoHD) khi tạo Forrm Wizard.
Khi tạo form theo kiểu của video, tự động access tìm quan hệ giữa main và sub (đã định nghĩa trước) để điền vào

221993
 
Web KT
Back
Top Bottom