Danh mục

Thủ thuật Access 3

Số trang: 16      Loại file: doc      Dung lượng: 88.50 KB      Lượt xem: 1      Lượt tải: 0    
thaipvcb

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Thủ thuật chỉnh hay nên đọc:Tạo nút không lưu và không cho nhập vào combo box:Private sub KHONG_click()Me.UndoIf NewRecord = True ThenDoCmd.GoToRecord , , acLastEnd IfEnd Sub- Cách 2:Private Sub Khong_Click()DoCmd.SetWarnings FalseDoCmd.RunCommand acCmdDeleteRecordDoCmd.SetWarnings TrueDoCmd.CloseEnd Sub
Nội dung trích xuất từ tài liệu:
Thủ thuật Access 3Thủ thuật Access 3SUNDAY, 8. JULY 2007, 13:58:02THỦ THUẬT OFFICEThủ thuật chỉnh hay nên đọc1. Tạo nút không lưu và không cho nhập vào combo boxa. . Private sub KHONG_click()Me.UndoIf NewRecord = True ThenDoCmd.GoToRecord , , acLastEnd IfEnd Sub- Cách 2Private Sub Khong_Click()DoCmd.SetWarnings FalseDoCmd.RunCommand acCmdDeleteRecordDoCmd.SetWarnings TrueDoCmd.CloseEnd Sub ̣ ̀ ̉ ̣b. - Ban vao properties cua combox --> tab Data --> property Limit to List : chon Yes.- Private Sub Combo_NotInList(NewData As String, Response As Integer)Response = acDataErrContinueMsgBox Ban kiem tra lai du lieu, , Bao loi !End Sub2. Làm thế nào để View report ở chế độ cố địnhTrả lời Ghi chúDim stDocName As StringstDocName = R01_Du An MoiDoCmd.OpenReport stDocName, acPreviewDoCmd.MaximizeDoCmd.RunCommand acCmdZoom75 Các chế độ zoom khác : DoCmd.RunCommand acCmdFitToWindow DoCmd.RunCommand acCmdZoom10 DoCmd.RunCommand acCmdZoom25 DoCmd.RunCommand acCmdZoom50 DoCmd.RunCommand acCmdZoom75 DoCmd.RunCommand acCmdZoom100 DoCmd.RunCommand acCmdZoom150 DoCmd.RunCommand acCmdZoom2003. Giúp em phần từ listbox sang textboxChào bạn!Có lẽ bạn không cần viết một dòng lệnh nào. Wizard của Access đã giúp bạn làm chuyện này. Cách làmnhư sau:Bạn vẽ một list box lên form (sử dụng Wizard). Access cho phép bạn lựa chọn 1 trong 3 tùy chọn. Bạnchọn mục 3 (tìm kiếm mẩu tin dựa vào giá trị được chọn trong list box). Xong, nhắp Next.Trong màn hình tiếp theo, bạn có thể chọn các trường IDBao, TenBao,...Màn hình tiếp theo, bạn có thể chọn mục Hide Key Column để ẩn trường IDBao đi. Xong, nhắp Next...Như vậy, khi bạn chọn một giá trị trong list box, Access sẽ nhảy tới mẩu tin chứa giá trị IDBao mà bạnchọn, tức nó sẽ hiển thị các thông tin của các trường khác.Bạn lưu ý: Sau khi thiết kế xong list box, bạn không nên đổi tên (name) của nó, vì Access đã phát sinhmột đoạn mã trong sự kiện After Update của list box này.Không biết như vầy có đúng ý bạn không?4. Kết nối dữ liệu Access trong mạng LanBạn có tạo 1 file access tên Data chỉ lưu lưu dữ liệu trên 1 máy A chẳng hạn., lưu ý thư mục chứa filedata phải được share và cấp quyền cho các máy con khác truy cập.Sau do tạo 1 file access tên App để viết các form nhập liệu, hay báo cáo, trong file này bạn chọn TabsTables, Right click vào Tables trong menu hiện ra bạn chọn Link Tables.., trong hộp thoại hiện ra bạn chỉđường dẫn đến File Data, sau đó sẽ xuất hiện hộp thoại liệt kê các tables trong File Data bạn chọn toànbộ các table rồi OK, khi đó trong file App sẽ có các table chỉ tới table trong File Data mà bạn đã chọn.Sau khi viết trong chương trình xong, có thể chạy trên các máy trong mạng, và dữ liệu được lưu ở 1 nơi.5. Về phần xóa mẩu tin mà bỏ qua thông báo xác nhận của Access, bạn có thể làm như sau:Bạn dựa vào sự kiện Before Del Confirm của form như sau:Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)Response = acDataErrContinue báo cho Access là cứ xóa vô tư mà không cần hỏi han gì cảEnd SubTuy nhiên, xóa dữ liệu là một việc quan trọng, bạn nên có một thông báo để người dùng xác nhận có thậtsự muốn xóa hay không. Bạn có thể tham khảo cách sau:Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)Dim i As Integeri = MsgBox(Nguy hiem chet nguoi & vbCrLf & Ban chac rang muon xoa..., vbYesNo, Xac nhan) hienthi thong bao xac nhan xoaIf i = vbYes Then neu nguoi dung chọn YesResponse = acDataErrContinue xoa mau tinElseCancel = True khong xoa nuaEnd IfEnd SubGhi chú: Bạn có thể bỏ dòng MsgBox Err.Description để nếu người dùng chọn No (không xóa), Accesssẽ không thông báo dòng DoMenuItem Action was canceled.6. Xử lý hiện thông báo khi không nhập dữ liệu vào texboxBạn sử dụng event on Lost Focus của textbox muốn ktra. Khi thoát khỏi thì check có IsNull hay kô? nếuIsNull là true thì quay lại ô đó textbox.SetFocusVd: bạn có textbox DatePrivate Sub txtDate_LostFocus()If IsNull(txtDate) ThenMsgBox Ban phai nhap ngay vao o nay, vbCritical, Thong baotxtDate.SetFocusCancel = TrueEnd Sub7. Cách khóa fím ShiftBấm modules tab > New. (Bạn có thể mở 1 module khác nếu có sẵn)* Lưu ý: Phải chắc chắn là thư viện DAO 3.6 được chọn:Chọn Tools > References , tìm và chọn Microsoft DAO 3.6 Object LibraryChép function sau đây vào module và lưu với tên bất kỳ (khác DisableShiftKeyBypass).---------Bắt đầu----------Function DisableShiftKeyBypass() As BooleanOn Error GoTo errDisableShiftDim db As DatabaseDim prop As DAO.PropertySet db = CurrentDb()On Error Resume Nextdb.Properties.Delete AllowByPassKeyOn Error GoTo errDisableShiftSet prop = db.CreateProperty(AllowByPassKey, dbBoolean, False, True)db.Properties.Append propDisableShiftKeyBypass = TrueexitDisableShift:Set prop = NothingSet db = NothingExit FunctionerrDisableShift:MsgBox Function DisableShiftKeyBypass did not complete successfully.DisableShiftKeyBypass = FalseResume exitDisableShiftEnd Function----------------Kết thúc---------------------Vào Debug, Compile, và đóng module lại để lưu.Tại database window, Gõ Ctrl-G để mở debug window.Gõ: DisableShiftKeyBypass và bấm Enter.Lần sau khi mở lại, phím Shift sẽ bị vô hiệu hóa.(Bạn chỉ cần chạy 1 lần duy nhất - Trong trường hợp cần phục hồi lại phím Shift, bạn sẽ cần đến file đãsao lưu, hoặc phục hồi từ một database khác).8. Bảo mật không cho chỉnh sửa form và report trong file *.mdbTOI GUI CHO BAN 1 MACRO de bao mat ACCESS tuyet voiNhung nho sao luu du phong truoc khi quay khong biet thi hoi toihhnguyen@picotrack.com*****************************************Hàm ChangeProperty thay doi các thuoc tính cua CSDLFunction ChangeProperty(strPropName, varPropType, varPropValue)Dim dbs As Database, prp As PropertyConst conPropNotFoundError = 3270Set dbs = CurrentDbOn Error ...

Tài liệu được xem nhiều: