MỤC LỤC
Trong mẫu biểu Form, đối tượng ComboBox làm cho Forms sinh động hẳn lên, nhờ có nó, ta sẽ mất đi cảm giác máy móc trong khi làm việc. Cụ thể trong một số trường hợp, dữ kiện trong Table được mang kiểu dữ liệu (DatType) luân lý (Logical), nghĩa là chỉ có một trong hai nội dung True hoặc False. * Biên chế của công chức chỉ có thể Có (trong Biên chế) hoặc Không (ngoài Biên chế).
Trong các trường hợp này dữ liệu sẽ mang kiểu luân lý để tiết kiệm bộ nhớ trong quá trình lưu trữ dữ liệu. ControlSource :PHAITINH Dữ liệu ghi vào Field PHAITINH RowSourceType :ValueList Dữ liệu là một list có sẵn. ControlSource :FieldName Tên trường lấy dữ liệu RowSourceType :Table/Query Lấy từ một Table hay Query RowSource :Câu lệnh SQL câu lệnh Select.
Cũng có thể dùng ComboBox cho phép nhập một số dữ liệu cố định được quy định sẵn: chọn ValueList trong RowSourceType, mục RowSource nhập sẵn một danh sách, giữa các phần tử cách nhau dấu chấm phẩy.
Theo lý thuyết, các Control khác Forms có thể trùng tên nhau, nhưng nên đặt khác nhau để đỡ gây phiền hà trong việc viết các dòng lệnh truy xuất dữ liệu trên tất cả các đối tượng Forms có trong Cơ sở dữ liệu. Tuy nhiên Macro chỉ xử lý một số lệnh đơn giản, và lệnh thuộc loại lệnh đơn, do đó đôi khi Macro không đáp ứng được công việc của người lập trình, khi đó người ta phải dùng Module, Module được thảo chương nhờ ngôn ngữ Basic, với Module các thao tác phức tạp sẽ lần lượt được thực thi một cách dễ dàng. Hai đoạn chương trình trên được dùng trong việc thống kê rút trích dữ liệu theo các mục đích hay yêu cầu khác nhau trong quá trình thực hiện.
Trên Forms có thể có một số TextBox dạng UnBoundControl dùng ghi nhận một điều kiện để thông qua các TextBox này gửi một Even thực thi trong chương trình, TextBox này có một điểm đặc biệt là khi Forms được mở thì người dùng vẫn không thấy nó: nó đã được gán một thuộc tính Visible=Yes, và TextBox này được giấu trên FormsHeader. Macro đơn giản hơn nhiều so với các đoạn mã lệnh, dễ thực hiện, nhưng khuyết điểm của Macro là chỉ thực hiện các lệnh đơn, đơn giản không mấy phức tạp. - FieldsName là danh sách các trường trong Cơ sở dữ liệu được chọn, trong trường hợp chọn tất cả các trường thì có thể dùng ký tự đại diện * để chọn.
Trong câu lệnh Select ta có thể sử dụng thêm phát biểu Where: phát biểu Where sẽ chỉ ra các tiêu chuẩn để rút trích, nói cách khác đây là điều kiện dùng chọn lựa dữ liệu. Lệnh DoCmd.Hourglass True dùng kích hoạt hoạt động của đồng hồ cát báo hiệu chương trình đang chạy, khi đó người dùng không thể sử dụng Mouse được nhằm tránh phát sinh lỗi trong chương trình. Trong Forms SINHVIEN có hai TextBox nhập dữ liệu có thuộc tính name là MMASO và MHOTEN, có hai CommandButton lệnh OK và CANCEL.
Và sau khi xuất hiện lỗi xong thì chương trình chính sẽ ngưng và dành quyền xử lý cho chương trình xử lý lỗi, do đó khi bố trí đoạn chương trình xử lý lỗi, thì phải bố trí điểm kết thúc hoặc tiếp tục chương trình bằng cách tạo ra một nhãn dùng chuyển tiếp chương trình, tiếp theo sau nhãn này là khối lệnh xử lý sau khi đã xử lý lỗi xong. Khi gặp lệnh này, lập tức chương trình quay về tìm nhãn Exit_Procedure, và tiếp tục thực thi khối lệnh tiếp theo, nếu thấy trong khối lệnh này có dòng lệnh Exit Function, thì nó sẽ thoát ra khỏi chương trình. Chương trình mẫu thứ hai: Khi gặp lỗi, chương trình chuyển giao quyền xử lý lỗi cho chương trình xử lý lỗi, sau đó mới tiếp tục thực thi chương trình.
Trong ứng dụng, nếu một bộ dữ liệu chưa hoàn chỉnh, thì ứng dụng không cho phép di chuyển sang mẩu tin kế tiếp, chương trình sẽ bị báo lỗi. Với thuộc tính này mà CommandButton có được cho phép hay hạn chế sự báo lỗi của chương trình: CommandButton bị mờ đi và không thể chọn được khi dữ liệu chưa hợp lý. Điều này có thể cho phép trong chương trình quản lý hạn chế được lỗi vi phạm ràng buộc toàn vẹn của Cơ sở dữ liệu, khi phân tích thiết kế mỗi record trong Cơ sở dữ liệu luụn luụn phải bảo đảm một ràng buộc toàn vẹn rừ ràng, và dữ kiện được nhập vào tuyệt đối không vi phạm ràng buộc toàn vẹn thì mới cho người sử dụng chuyển sang mẩu tin kế tiếp.
Như phần trên đã nói, Mã số ghi nhận tất cả các đặc điểm của một sinh viên, do đó Mã số này không thể trùng nhau, vậy khi người dùng nhập trùng Mã số, chương trình sẽ báo rằng: đã có Mã số này rồi, phải nhập lại Mã khác, khi Mã số không trùng sẽ cho nhập tiếp. Hàm này thường dùng trong việc kiểm tra ràng buộc toàn vẹn của Cơ sở dữ liệu, tránh sự trùng lặp thông tin trong hệ thống và sự báo lỗi khó chịu bằng tiếng Anh mặc định của Microsoft Access.
-True nếu dữ liệu trong ControlName của Form trùng với dữ liệu trong FieldName của TableName. - False nếu dữ liệu trong ControlName của Form không trùng với dữ liệu trong FieldName của TableName. Trong Microsoft Access có nhiều hàm được tạo sẵn, nhưng đôi khi các hàm đó không phục vụ được tất cả các công việc của người viết chương trình, do đó việc tạo thêm các hàm người dùng là việc không thể thiếu trong lập trình.
Hàm người dùng là các hàm của người viết định nghĩa, thường các hàm người dùng được viết trên những tờ đơn thể riêng (Module). Khai báo Parameters tạo ra sự trao đổi thông số giữa người sử dụng và máy tính. Khi khai bỏo Parameters chỳ ý khai bỏo rừ kiểu dữ liệu: dữ liệu thuộc kiểu dữ liệu nào, độ rộng và phạm vi sử dụng đối với kiểu Numberic.
Chú ý rằng mặc định kiễu chuỗi (String) có độ rộng 255 nếu trong câu lệnh không khai báo độ rộng tường minh. Giải thuật: FilterStringAliasd truy tìm đối số đưa vào trên Table có tên T_TO, nếu thấy, hàm sẽ trả về chuỗi ghi nhận mã số của người đang giữ chức vụ đó. Sau khi hoàn tất đoạn chương trình trên, Microsoft Access ghi nhận nó là một trong các hàm số, và ta có thể sử dụng bất kỳ lúc nào.
Đoạn mã lệnh trên không đặt bẩy lỗi vì đây là đoạn mã lệnh đặt tại CommandButton trên Forms chính của chương trình, chỉ khi đóng tất cả các Forms con mới ra được Forms này, người dùng chỉ cần nhấp chọn CommandButton là sẽ thoát ra khỏi chương trình đồng thời ra khỏi Microsoft Access về Windows.
Private Sub Form_Open(Cancel As Integer) Dim CaptionSua, LblForm, LblOK As String LblForm = "CHỈNH SỬA LÝ LỊCH". Private Sub MACC_LostFocus() Dim CmdExit, CmdMacc As String. Dim STThongbao, StMessage1, StMessage2, STtitle As String Dim STCanhbao, StTitleMsg As String. MsgBox STCanhbao, 16, StTitleMsg 'Khong de trong Else. FORMS!FMRCONGCHUC!MACC") If Not IsNull(StLookup) Then. Trong chương trình, ta có thể thay thế Menu có sẵn của Microsoft Access bằng một hệ thống Menu bằng tiếng Việt với các Popup cũng bằng tiếng Việt dùng để mở các Form hoặc các Reports của DataBaseContainer do chúng ta tạo ra, với dàn Menu của Microsoft Access thì nhìn dáng như Tây, không mấy thích hợp với người Việt Nam.
Ta tạo một hệ thống Menu này để khi chạy chương trình, nó sẽ mang dáng dấp một sản phẩm đặc trưng của riêng ta. Nói một cách khác, ta thiết kế một giao diện cho một ứng dụng của riêng mình. Ta có thể tạo một hệ thống Menu bar gắn liền vào một hay nhiều Form và Reports.
Tạo Menu bằng cách tạo ra các Macro nhóm, mỗi nhóm Macro định nghĩa cho một Menu và các lệnh (Command) trong Menu đó, thông thường, các Macro nhóm này sẽ biểu thị cho một Popup. Sau khi tạo các Macro Popup nói trên, ta sẽ tạo một trình đơn bằng Macro (chẳng hạn có tên là MCUSTOMMN) gồm có các Action: AddMenu. (Chú ý: Dấu & đứng trước ký tự nào thì ký tự đó được chọn làm ký tự đại diện, để kích hoạt ta nhấn phím Alt + Ký tự đại diện).
Từ đó trở đi, khi chạy Form, thì hệ thống Menu của Microsoft Access được thay thế bằng hệ thống Menu do ta tạo ra.