• hướng dẫn cách tạo mã học viên
  • 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 “ ” FormatID.Value“0000”)
    End Sub 

    Tương tự
    .

    Private 
    Sub GIOITINH _ AfterUpdate()
    MAHS.Value TENHOCSINH.Value “ ” IIf(GIOITINH.Value True“Nữ”“Nam”) & “ ” NAMSINH.Value “ ” FormatID.Value“0000”)
    End Sub 

    Private Sub NAMSINH _ AfterUpdate()
    MAHS.Value TENHOCSINH.Value “ ” IIf(GIOITINH.Value True“Nữ”“Nam”) & “ ” NAMSINH.Value “ ” FormatID.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 đó.

    [Hình: 2015-08-15_015904.jpg]
  • 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:
    (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.
    Đã 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?
    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.