Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Thay thế thông báo lỗi Write Conflict
#11
007 Tôi hỏi vì cái key của ứng dụng này là ở bước 3 và 5 là tính khoảng cách và dự đoán lớp.
Tôi nghĩ bạn chỉ cần dùng query, không cần tạo table để khỏi phải ghi, chép gây nên lỗi "Write Conflict"...
Từ công thức có thể viết cái hàm áp dung chung cho bất cứ môn nào nhập thêm vô để tính khoảng cách.

Bạn làm được như hiện tại là hay lắm rồi, không cần biết đi đường xa hay gần, miễn tới đích là OK rồi. Sau đó rút kinh nghiệm rồi cải tiến tiếp.
Tôi cũng thấy bạn có thể mở rộng ứng dụng cho bất cứ môn học nào thay vì hạn chế chỉ nhập cố định những môn đã thiết kế fix trên form 1. Nhập điểm từng sinh viên ở dạng datasheet để có thể chủ động thêm môn mới  007

Cho học hỏi thêm là cách tính KC1 là theo công thức Euclidean còn công thức KC2 (tính cho chỉ số "Thi lại") là gì vậy bạn?
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
#12
(19-06-16, 12:38 PM)ongke0711 Đã viết: 007 Tôi hỏi vì cái key của ứng dụng này là ở bước 3 và 5 là tính khoảng cách và dự đoán lớp.
Tôi nghĩ bạn chỉ cần dùng query, không cần tạo table để khỏi phải ghi, chép gây nên lỗi "Write Conflict"...
Từ công thức có thể viết cái hàm áp dung chung cho bất cứ môn nào nhập thêm vô để tính khoảng cách.

Bạn làm được như hiện tại là hay lắm rồi, không cần biết đi đường xa hay gần, miễn tới đích là OK rồi. Sau đó rút kinh nghiệm rồi cải tiến tiếp.
Tôi cũng thấy bạn có thể mở rộng ứng dụng cho bất cứ môn học nào thay vì hạn chế chỉ nhập cố định những môn đã thiết kế fix trên form 1. Nhập điểm từng sinh viên ở dạng datasheet để có thể chủ động thêm môn mới  007

Cho học hỏi thêm là cách tính KC1 là theo công thức Euclidean còn công thức KC2 (tính cho chỉ số "Thi lại") là gì vậy bạn?

Dạ, phần mở rộng chắc có tgian mới làm được anh à. Nếu thay thế bằng query thì thay thế thế nào, nếu được anh giúp em
KC2 là công thức Hamming anh à (Dùng cho thuộc tính có giá trị nhị phân)
Chữ ký của cannguyen Xin chào, mình là cannguyen, Tham gia http://thuthuataccess.com/forum từ ngày 15-08 -11.
Reply
Những người đã cảm ơn
#13
Tôi đã xem xong cái file của bạn nhưng thực sự cũng chưa biết chính xác lỗi "Write conflict" nó nằm ở đoạn nào vì bạn ở nút lệnh [THỰC HIỆN] bạn chạy nhiều query, tạo nhiều table, update v.v.. như mê hồn trận nên chưa tìm đc lỗi. 007  
Cách nhanh nhất tôi là tôi dựa 2 cái table chính như bạn nói và sửa lại cái form thực hiện cho nó gọn, không cần tạo nhiều table và một đống query và form như hiện tại.
Tôi chỉ sửa phần form và code để chạy ra kết quả, phần report bạn tự sửa lại theo table dữ liệu kết quả được tạo ra sau khi Form thực thi. Gom các bước vô 1 form duy nhất để dễ nhìn và xử lý như bạn maidinhdan đã có gợi ý.

Cách làm của tôi: Đối với chọn 1 Sinh viên hay nhóm SV cũng xử lý giống nhau, tránh việc tạo 2 lần các table, query cho từng trường hợp dẫn đến CSDL cồng kềnh.
- Chọn 1 SV hay nhóm -> Query từ table SV để lấy dữ liệu cần dự báo của SV hay nhóm SV đó. 
- Để tính KC đối với từng đối tượng SV dự báo bạn dùng Do Until ... Loop để xử lý lần lượt từng record (SV) của query ở trên.
- Phải xử lý đủ 5 bước cho 1 SV xong, Append kết quả vào table rồi mới xử lý tiếp SV kế tiếp.
- Trong cặp lệnh Do until ... Loop, bạn dùng rs.Edit, rs.Update để cập nhật KC vào table HSLUONG.
- Sắp xếp table HSLUONG theo thứ tự tăng dần của trường [KC]. Mục đích là để lọc TOP K record có [KC] gần với đối tượng dự báo nhất. Dùng "SELECT TOP K HSLUONG.* FROM HSLUONG"
- Dùng hàm DMax để tìm số "Lớp" có nhiều mẫu nhất => gán kết quả dự báo cho đối tượng.
- Dùng hàm DCount số record có Dmax để xác định có trùng "Lớp" không rồi chọn "Lớp" có khoảng cách nhỏ nhất (DMin). 
Cách làm này bạn chỉ cần 3 cái Saved Query và tạo thêm 2 tables thay vì 30 cái query và 7 cái table như cách bạn làm hiện tại.

Bạn xem file đính kèm. 
http://www.mediafire.com/download/m6hh4b...g/K-NN.mdb
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 maidinhdan
#14
(24-06-16, 02:55 AM)ongke0711 Đã viết: Tôi đã xem xong cái file của bạn nhưng thực sự cũng chưa biết chính xác lỗi "Write conflict" nó nằm ở đoạn nào vì bạn ở nút lệnh [THỰC HIỆN] bạn chạy nhiều query, tạo nhiều table, update v.v.. như mê hồn trận nên chưa tìm đc lỗi. 007  
Cách nhanh nhất tôi là tôi dựa 2 cái table chính như bạn nói và sửa lại cái form thực hiện cho nó gọn, không cần tạo nhiều table và một đống query và form như hiện tại.
Tôi chỉ sửa phần form và code để chạy ra kết quả, phần report bạn tự sửa lại theo table dữ liệu kết quả được tạo ra sau khi Form thực thi. Gom các bước vô 1 form duy nhất để dễ nhìn và xử lý như bạn maidinhdan đã có gợi ý.

Cách làm của tôi: Đối với chọn 1 Sinh viên hay nhóm SV cũng xử lý giống nhau, tránh việc tạo 2 lần các table, query cho từng trường hợp dẫn đến CSDL cồng kềnh.
- Chọn 1 SV hay nhóm -> Query từ table SV để lấy dữ liệu cần dự báo của SV hay nhóm SV đó. 
- Để tính KC đối với từng đối tượng SV dự báo bạn dùng Do Until ... Loop để xử lý lần lượt từng record (SV) của query ở trên.
- Phải xử lý đủ 5 bước cho 1 SV xong, Append kết quả vào table rồi mới xử lý tiếp SV kế tiếp.
- Trong cặp lệnh Do until ... Loop, bạn dùng rs.Edit, rs.Update để cập nhật KC vào table HSLUONG.
- Sắp xếp table HSLUONG theo thứ tự tăng dần của trường [KC]. Mục đích là để lọc TOP K record có [KC] gần với đối tượng dự báo nhất. Dùng "SELECT TOP K HSLUONG.* FROM HSLUONG"
- Dùng hàm DMax để tìm số "Lớp" có nhiều mẫu nhất => gán kết quả dự báo cho đối tượng.
- Dùng hàm DCount số record có Dmax để xác định có trùng "Lớp" không rồi chọn "Lớp" có khoảng cách nhỏ nhất (DMin). 
Cách làm này bạn chỉ cần 3 cái Saved Query và tạo thêm 2 tables thay vì 30 cái query và 7 cái table như cách bạn làm hiện tại.

Bạn xem file đính kèm. 
http://www.mediafire.com/download/m6hh4b...g/K-NN.mdb

Cảm ơn anh
Để em thử nhé
Chữ ký của cannguyen Xin chào, mình là cannguyen, Tham gia http://thuthuataccess.com/forum từ ngày 15-08 -11.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Thay đổi hình ảnh theo mã feeling 3 149 04-11-16, 05:18 PM
Bài mới nhất: maidinhdan
  [Help] Chỉnh giúp Form thống kê hoanghai902 2 124 28-10-16, 06:15 PM
Bài mới nhất: hoanghai902
  Thay đổi màu nền các dòng theo điều kiện trên form Continuous tranthanhan1962 9 1,698 27-09-16, 11:01 PM
Bài mới nhất: ongke0711
  Xin giúp tạo 1 trường trong table đánh số tự động thay cho autonumber trungminh 7 448 16-09-16, 05:17 PM
Bài mới nhất: maidinhdan
  Link thông tin từ khóa chính! honglv157 6 260 21-07-16, 11:17 PM
Bài mới nhất: honglv157

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ơ