-
hướng dẫn cách tạo mã học viên
honglv157 > 13-08-15, 04:29 PM
tạo mã học viên tự động dựa trên các thông tin học viên bao gồm: họ tên, năm sinh, nơi sinh và giới tính. Em đã có tham khảo qua file của bác Xuanthanh nhưng thật sự chưa rõ các bước thực hiện như thế nào? Viết 1 code duy nhất gắn vào mahocvien hay là gắn sự kiện vào lần lượt các texbox trên a?
Mong mọi ngươi quan tâm.Thanks
Link bài tạo mã của bác xuân thanh:
http://thuthuataccess.com/forum/thread-6236.html
và đây là cơ sở dữ liệu của em ah:
http://www.mediafire.com/download/d6bqbqdlldb37ry/A.mdb -
RE: hướng dẫn cách tạo mã học viên
tranthanhan1962 > 13-08-15, 07:09 PM
(13-08-15, 04:29 PM)honglv157 Đã viết: tạo mã học viên tự động dựa trên các thông tin học viên bao gồm: họ tên, năm sinh, nơi sinh và giới tính. Em đã có tham khảo qua file của bác Xuanthanh nhưng thật sự chưa rõ các bước thực hiện như thế nào? Viết 1 code duy nhất gắn vào mahocvien hay là gắn sự kiện vào lần lượt các texbox trên a?
Mong mọi ngươi quan tâm.Thanks
Link bài tạo mã của bác xuân thanh:
http://thuthuataccess.com/forum/thread-6236.html
và đây là cơ sở dữ liệu của em ah:
http://www.mediafire.com/download/d6bqbqdlldb37ry/A.mdb
Nói chung tạo mã chính là tạo primary keys nhằm để xử lý liên kết - một nhiều với foreign keys của một table khác. Yêu cầu trước tiên là tất cả đối tượng trong field mã trên record không được phép giống nhau.
Có thể phối hợp STT tự đánh và các chữ cái giống nhau (Ví dụ HS01, HS02 – HOCSINH01, HOCSINH02). Đơn giản nhất là tạo 1 field ID AutoNumber. Hoặc phức tạp hơn theo cách của bạn nguyyenbalai trên bài [Help] Tự động lấy mã số học sinh và đánh số thứ tự theo loại lớp học
Vì vậy tùy theo mỗi ứng dụng từng người có cách xử lý khác nhau. Nếu không cần thiết nên tạo mã ngắn gọn khó trùng để tốc độ xử lý của phần mềm vừa nhanh vừa hiệu quả.
Để xử lý tạo mã tự động đưa công thức tạo mã vào event after update của các field liên hệ với mã.
Ví dụ Mã học sinh Nguyễn Văn A Nam 2003 0001, Lê thị Mai Nữ 2004 0002
Chúng ta xử lý như sau:
Mã PHP:Private Sub TENHOCSINH_ AfterUpdate()
MAHS.Value = TENHOCSINH.Value & “ ” & IIf(GIOITINH.Value = True, “Nữ”, “Nam”) & “ ” & NAMSINH.Value & “ ” & Format( ID.Value, “0000”)
End Sub
Tương tự.
Private Sub GIOITINH _ AfterUpdate()
MAHS.Value = TENHOCSINH.Value & “ ” & IIf(GIOITINH.Value = True, “Nữ”, “Nam”) & “ ” & NAMSINH.Value & “ ” & Format( ID.Value, “0000”)
End Sub
Private Sub NAMSINH _ AfterUpdate()
MAHS.Value = TENHOCSINH.Value & “ ” & IIf(GIOITINH.Value = True, “Nữ”, “Nam”) & “ ” & NAMSINH.Value & “ ” & Format( ID.Value, “0000”)
End Sub -
RE: hướng dẫn cách tạo mã học viên
honglv157 > 13-08-15, 11:33 PM
Anh Ân ơi, em đã nhập code vào form theo đúng hướng dẫn nhưng không chạy được mã học viên và tự nhảy số tt. Em dựa trên bài của anh Nguyenbalai. Em không biết sai ở chỗ nào, mong anh xem qua và sửa giúp e.
http://www.mediafire.com/download/8i876d...281%29.mdb -
RE: hướng dẫn cách tạo mã học viên
tranthanhan1962 > 15-08-15, 01:32 AM
Bạn không tạo được mã số do những nguyên nhân sau:
1/Bạn thiết đặt type của MAHS là number có nghĩa là giá trị số không phải giá trị text nên khi đưa ký tự vào nó báo lỗi là điều đương nhiên.
2/Main form và Sub form có chung một giá trị dữ liệu không thể hiện rõ ràng mối quan hệ cha con.
3/Phần này bạn xem lại. Không hiểu sau khi mình tải dữ liệu của bạn về không tham chiếu được giá trị sub form từ main form(dữ liệu cũ của bạn lúc trước không bị vấn đề này)
4/Với ứng dụng của bạn chỉ cần đưa mã lớp và STT vào là đủ rồi, bạn đưa ngày sinh, nơi sinh vào chỉ làm nặng nề, rắc rối thêm chứ không có lợi ích nào cả. -
RE: hướng dẫn cách tạo mã học viên
maidinhdan > 15-08-15, 02:53 AM
(15-08-15, 01:32 AM)tranthanhan1962 Đã viết: ..............
3/Phần này bạn xem lại. Không hiểu sau khi mình tải dữ liệu của bạn về không tham chiếu được giá trị sub form từ main form(dữ liệu cũ của bạn lúc trước không bị vấn đề này)
..................
Chị ấy đã xóa dòng "Option Compare Database" trong form đó.
-
RE: hướng dẫn cách tạo mã học viên
honglv157 > 18-08-15, 10:31 AM
=IIf(VarType([Forms]![F_LopHoc]![F_TTHS].[Form]![Stt])=3,[Forms]![F_LopHoc]![F_TTHS].[Form]![Stt]+1,1)
Cho em hỏi câu lệnh IFF có nghĩa là gì, chỗ STT=3 ? -
RE: hướng dẫn cách tạo mã học viên
maidinhdan > 18-08-15, 10:42 AM
(18-08-15, 10:31 AM)honglv157 Đã viết: =IIf(VarType([Forms]![F_LopHoc]![F_TTHS].[Form]![Stt])=3,[Forms]![F_LopHoc]![F_TTHS].[Form]![Stt]+1,1)
Cho em hỏi câu lệnh IFF có nghĩa là gì, chỗ STT=3 ?
Dịch ra tiếng việt thế này,
Cho: ([Forms]![F_LopHoc]![F_TTHS].[Form]![Stt]) là : a
Nếu kiểu dữ liệu của a là 3 ( số 3 này đại diện cho kiểu dữ liệu Long Integer) thì a cộng thêm 1, ngược lại là 1.
* Các đối số của VarType
Mã PHP:vbEmpty = 0
Chưa khởi tạo
vbNull = 1
Không có dữ liệu
vbInteger = 2
Kiểu Integer
vbLong = 3
Kiểu Long integer
vbSingle = 4
Kiểu Single
vbDouble = 5
Kiểu Double
vbCurrency = 6
Kiểu Currency
vbDate = 7
Kiểu Date
vbString = 8
Kiểu String
vbObject = 9
Là một Object
vbError = 10
Giá trị lỗi
vbBoolean = 11
Kiểu Boolean
vbVariant = 12
Kiểu Variant
vbDataObject = 13
Là một DataObject
vbDecimal = 14
Kiểu Decimal
vbByte = 17
Kiểu Byte
vbUserDefinedType = 36
1 kiểu xác định trong Variant
vbArray = 8192
Kiểu Array
Thân mến! -
RE: hướng dẫn cách tạo mã học viên
honglv157 > 18-08-15, 11:08 AM
Table DMHV( STT (Autonumber, MAHS (Format :"HV000000),....
Code tạo MHS:
Sự kiện gắn với STT
Private Sub STT_AfterUpdate()
MAHS.Value = "HV" & Right("000000" & STT, 6)
End Sub
Giúp em chỉ ra lỗi sai với a -
RE: hướng dẫn cách tạo mã học viên
maidinhdan > 18-08-15, 11:30 AM
(18-08-15, 11:08 AM)honglv157 Đã viết: Table DMHV( STT (Autonumber, MAHS (Format :"HV000000),....
Code tạo MHS:
Sự kiện gắn với STT
Private Sub STT_AfterUpdate()
MAHS.Value = "HV" & Right("000000" & STT, 6)
End Sub
Giúp em chỉ ra lỗi sai với a
không biết đoạn này có ý gì? Table DMHV( STT (Autonumber, MAHS (Format :"HV000000),....
Nhưng MAHS dùng Format :"HV000000" là trật rồi, có 2 cách giải quyết.
1. Chả cần dùng Format :"HV000000" ( xóa hẳn, bởi đã dùng code tự động thêm rồi)
2. Chuyển Format :"HV000000" xuống dưới Input Mask, còn size thì có cho nó là 8.
* Khuyên dùng cách 1 là hay nhất. -
RE: hướng dẫn cách tạo mã học viên
honglv157 > 18-08-15, 01:10 PM
(18-08-15, 11:30 AM)maidinhdan Đã viết:
Đã dùng cách 1, bỏ format nhưng mã hv vẫn không tự động thêm khi nhập record mới? Chỉ giúp chị xem chị còn phải chỉnh chỗ nào nữa?(18-08-15, 11:08 AM)honglv157 Đã viết: Table DMHV( STT (Autonumber, MAHS (Format :"HV000000),....
Code tạo MHS:
Sự kiện gắn với STT
Private Sub STT_AfterUpdate()
MAHS.Value = "HV" & Right("000000" & STT, 6)
End Sub
Giúp em chỉ ra lỗi sai với a
không biết đoạn này có ý gì? Table DMHV( STT (Autonumber, MAHS (Format :"HV000000),....
Nhưng MAHS dùng Format :"HV000000" là trật rồi, có 2 cách giải quyết.
1. Chả cần dùng Format :"HV000000" ( xóa hẳn, bởi đã dùng code tự động thêm rồi)
2. Chuyển Format :"HV000000" xuống dưới Input Mask, còn size thì có cho nó là 8.
* Khuyên dùng cách 1 là hay nhất.
Table DMHV( STT (Autonumber, MAHS (Format :"HV000000),.... đây là bảng học viên gồm các field với định dạng như trên.