Mình đã viết một tiện ích nhỏ quản lý trong lĩnh vực thi công xây dựng.
Mô tả:
- Cơ quan của mình có khoảng 50 người.
- Các đầu công việc sẽ được giao cho một số người trong số 50 người trên thực hiện.
Ý tưởng:
Mình tổ chức lưu tất cả các công việc vào 1 table của Accsess. Trong đó có cột Nguoithuchien ghi các giá trị như sau (mình không biết thuật toán này tên gì?)
Công việc 1: Nếu người số 1, 3, 4, 6 và 11 thực hiện thì giá trị trong cột Nguoithuchien là: 1069 (tức bằng 2^(1-1) + 2^(3-1) + 2^(4-1) + 2^(6-1) + 2^(11-1))
Công việc 2: Nếu người số 5, 8 và 14 thực hiện thì giá trị trong cột Nguoithuchien là: 8336 (tức bằng 2^(5-1) + 2^(8-1) + 2^(14-1))
....
Công việc n:...Bảng tbNhansu thì mình có 2 cột: ID và HotenTrước đây nếu dùng thuần Access từ giá trị Nguoithuchien lấy được cho mỗi công việc mình sẽ tìm được những người nào thực hiện qua giá trị đại diện thì mình dùng Query như sau
Trước đây nếu dùng thuần Access từ giá trị Nguoithuchien lấy được cho mỗi công việc mình sẽ tìm được những người nào thực hiện qua giá trị đại diện thì mình dùng Query như sau
Vài viết thêm Function trong VBA (Access)
Bây giờ mình muốn viết 1 chương trình bằng C#, nhưng không thể thực hiện được truy vấn nói trên. Xin mọi người chỉ giúp cách khắc phục và cho mình hỏi thuật toán mà mình nói trên tên là gì không? Mình thấy chương trình AutoCAD quản lý các biến theo cách này nên mò mẫm chứ không biết tên thuật toán. Có thuật toán nào khác để biết 1069 -> 1 + 3 + 4 + 6 + 11; 1045 -> 1 + 3 + 5 + 11 ... không?
Cách tổ chức CSDL theo cách này liệu có ổn không hay còn cách nào khác hay hơn? Mình đang có ý tưởng viết chương trình quản lý thi công công trình dựa trên ý tưởng thuật toán này?
Mình đính kèm thêm file cho mọi người dễ hiểu ý tưởng của mình hơn.
Rất mong nhận được sự giúp đỡ kịp thời từ cộng đồng!
Mô tả:
- Cơ quan của mình có khoảng 50 người.
- Các đầu công việc sẽ được giao cho một số người trong số 50 người trên thực hiện.
Ý tưởng:
Mình tổ chức lưu tất cả các công việc vào 1 table của Accsess. Trong đó có cột Nguoithuchien ghi các giá trị như sau (mình không biết thuật toán này tên gì?)
Công việc 1: Nếu người số 1, 3, 4, 6 và 11 thực hiện thì giá trị trong cột Nguoithuchien là: 1069 (tức bằng 2^(1-1) + 2^(3-1) + 2^(4-1) + 2^(6-1) + 2^(11-1))
Công việc 2: Nếu người số 5, 8 và 14 thực hiện thì giá trị trong cột Nguoithuchien là: 8336 (tức bằng 2^(5-1) + 2^(8-1) + 2^(14-1))
....
Công việc n:...Bảng tbNhansu thì mình có 2 cột: ID và HotenTrước đây nếu dùng thuần Access từ giá trị Nguoithuchien lấy được cho mỗi công việc mình sẽ tìm được những người nào thực hiện qua giá trị đại diện thì mình dùng Query như sau
Trước đây nếu dùng thuần Access từ giá trị Nguoithuchien lấy được cho mỗi công việc mình sẽ tìm được những người nào thực hiện qua giá trị đại diện thì mình dùng Query như sau
Mã:
SELECT tbNhansu.* FROM tbNhansu WHERE (((NewXOR([Nhập giá trị đại diện cho nhóm người thực hiện:],[ID]))=True));
Vài viết thêm Function trong VBA (Access)
Mã:
Function NewXOR(AssCode As Long, AssSelect As Byte) As Boolean
NewXOR = (AssCode Xor (2 ^ (AssSelect - 1))) < AssCode
End Function
Bây giờ mình muốn viết 1 chương trình bằng C#, nhưng không thể thực hiện được truy vấn nói trên. Xin mọi người chỉ giúp cách khắc phục và cho mình hỏi thuật toán mà mình nói trên tên là gì không? Mình thấy chương trình AutoCAD quản lý các biến theo cách này nên mò mẫm chứ không biết tên thuật toán. Có thuật toán nào khác để biết 1069 -> 1 + 3 + 4 + 6 + 11; 1045 -> 1 + 3 + 5 + 11 ... không?
Cách tổ chức CSDL theo cách này liệu có ổn không hay còn cách nào khác hay hơn? Mình đang có ý tưởng viết chương trình quản lý thi công công trình dựa trên ý tưởng thuật toán này?
Mình đính kèm thêm file cho mọi người dễ hiểu ý tưởng của mình hơn.
Rất mong nhận được sự giúp đỡ kịp thời từ cộng đồng!