tuanta1986 > 17-09-20, 12:10 AM
ongke0711 > 17-09-20, 02:24 PM
(17-09-20, 12:10 AM)tuanta1986 Đã viết: Ở phần F_SoLieu_KhoaNoi e đã làm thử 1 nút "tìm kiếm", với event Onclick nhúng macro FindRecord vào. Ở mục Find What của macro, làm cách nào để chọn đúng dữ liệu đang hiển thị trong field [Ngay].
Mục đích e muốn ở F_SoLieu_KhoaNoi, e thay đổi ngày xong ấn "tìm kiếm", nó sẽ tìm kiếm ra record theo ngày mà e vừa nhập vào đó để thuận tiện cho việc chỉnh sửa
tuanta1986 > 17-09-20, 02:52 PM
(17-09-20, 02:24 PM)ongke0711 Đã viết:(17-09-20, 12:10 AM)tuanta1986 Đã viết: Ở phần F_SoLieu_KhoaNoi e đã làm thử 1 nút "tìm kiếm", với event Onclick nhúng macro FindRecord vào. Ở mục Find What của macro, làm cách nào để chọn đúng dữ liệu đang hiển thị trong field [Ngay].
Mục đích e muốn ở F_SoLieu_KhoaNoi, e thay đổi ngày xong ấn "tìm kiếm", nó sẽ tìm kiếm ra record theo ngày mà e vừa nhập vào đó để thuận tiện cho việc chỉnh sửa
Access là CSDL quan hệ nên giữa các Bảng (Table) có quan hệ với nhau thông qua Field (trường/cột) làm khoá chính của bảng. Thường trường khoá chính của Bảng là mã định danh để phân biệt giữa các dòng dữ liệu (record) với nhau. Trường khoá này phải nhất quán, không dấu tiếng Việt, không khoảng cách, số lượng ký tự thống nhất và ít. Đây là một số kiến thức cơ bản khi thiết kế Bảng.
Trở lại bảng "T_DSKhoaPhong" của bạn.
- Bạn dùng luôn cái tên khoa (diễn giải) để làm khoá chính (Primary Key) là hết sức sai cơ bản.
- Bạn dùng hết 255 ký tự Field Size để lưu cái tên khoa phòng -> lãng phí bộ nhớ, làm Table sẽ cồng kênh lên.
- Bạn dùng nguyên tên có dấu tiếng Việt để làm trường khoá, bạn có dám chắc bạn gõ cùng một từ "Khoa Nội" là cái từ này luôn giống nhau không? Không nhé.
+ Unicode dựng sẳn : chiếm 8 ký tự
+ Unicode tổ hợp : chiếm 9 ký tự
+ VNI : chiếm 9 ký tự
=> Khi người dùng gõ từ "Khoa Nội" để tìm kiếm thì chưa chắc Access trả về kết quả cho bạn, chưa kể người dùng có thể gõ dư khoảng trắng thì nó đã trở thành cái mã khác rồi. Đó là lý do phải dùng mã đinh dạnh.
Ví dụ:
MaKhoa | TenKhoa
-------------------------------------------
KH001 | Khoa nội 1
KH002 | Khoa nội 2
...
Table và Query cơ bản bạn chưa rành mà đi vô thiết kế Form thì còn phát sinh vấn đề dài dài vì không biết cách Table và Query hoạt động như thế nào, phản ứng như thế nào trên Form.
Nói về cái Form "F_SoLieu_KhoaNoi":
Bạn đã phân tích ra được cách thức Form hoạt động chưa?
Bạn đang dùng Single Form để hiển thị, để nhập liệu từng dòng dữ liệu trong table T-SoLieu, vậy khi bạn bấm nút [Tìm Kiếm] -> Bạn muốn cái Form nó xử lý như thế nào?
- Form đang có dữ liệu thì nó sẽ xoá trắng rồi tìm kiếm hay sao?
- Tìm theo [ngày] trên Form: vậy có rất nhiều dòng dữ liệu cùng ngày thì Form sẽ lấy dòng nào để hiển thị cho bạn?
- Cũng trên Form này, nếu người dùng chọn Ngày để tìm kiếm -> dữ liệu của Record hiện thời sẽ bị thay đổi, bạn tính tới chưa?
- Đang nhập liệu dở dang, chưa bấm Lưu thì người dùng bấm nút Tìm kiếm -> sẽ xử lý ra sao?
...
Tóm lại: ngoài chuyện bạn phải vừa làm vừa tìm học kiến thức cơ bản của đối tượng mà bạn đang thiết kế (Table/Query) và phải bỏ thời gian phân tích thật kỹ cách tổ chức CSDL, phân tích hành vi người dùng thao tác trên Form, qui trình xử lý để có cái thiết kế hợp lý.
tuanta1986 > 05-11-20, 11:21 AM