Tổng Hợp Thủ Thuật Access / 2023 / Top 11 # Xem Nhiều Nhất & Mới Nhất 11/2022 # Top View | Globaltraining.edu.vn

Tổng Hợp Thủ Thuật Access / 2023

Event and Event procedure

Tác Giả: phatnq2002 – Web DanKeToan

CÁC KHÁI NIỆM

Sự kiện là gì? Sự kiện (event) là một hành động xác định xảy ra trên hoặc với một đối tượng nào đó. MS Access có thể đáp lại nhiều sự kiện: nhấn chuột, thay đổi dữ liệu, mở hoặc đóng form, … Sự kiện thường là kết quả tạo ra bởi một hành động của người sử dụng.

Thủ tục là gì? Thủ tục (procedure) là một đơn vị code của VB. Một thủ tục bao gồm một dãy các lệnh (statement) hoặc các phương thức (method) để thực thi một hành động hoặc tính toán một giá trị. Thủ tục sự kiện là gì? Thủ tục sự kiện (event procedure) là một thủ tục tự động thực thi để đáp lại một sự kiện được khởi xướng từ một hành động của người dùng hoặc từ code của chương trình.

VD: Thủ tục sự kiện sau đây sẽ thực thi một lệnh mở câu thông báo chào khi form được mở ra: Private Sub Form_Load() MsgBox “Xin chào các bạn.” End Sub

MỘT SỐ SỰ KIỆN THƯỜNG GẶP VÀ CÁCH ĐIỀU KHIỂN SỰ KIỆN

Các sự kiện xảy ra với đối tượng Form:

1. Sự kiện Open:

Sự kiện xảy ra khi form được mở, nhưng trước khi record đầu tiên được hiển thị.

(Ghi chú: ở đối tượng Report cũng có sự kiện Open, trong report sự kện Open xảy ra trước khi report được preview hoặc được in)

Từ khi gọi form cho đến khi form xuất hiện lần đầu trên màn hình, một loạt các sự kiện xảy ra, trong đó sự kiện Open là sự kiện được xảy ra đầu tiên. Các sự kiện này và thời điểm xảy ra của nó được thể hiện bằng chuỗi sau: Thuộc tính gắn với sự kiện Open có tên là OnOpen.

(Các bạn lưu ý: với những thuộc tính bắt đầu bằng On có nghĩa là sự kiện đó đang diễn tiến,Before là trước khi sự kiện xảy ra, After là sau khi sự kiện xảy ra)

. Thủ tục sự kiện gắn với sự kiện này là Form_Open. Sự kiện có một tham số có tên là Cancel kiểu Integer (thực chất nó chỉ nhận hai giá trị True và False). Tham số này các bạn có thể định lại giá trị cho nó. Nếu định là True, sự kiện sẽ bị hoãn, nghĩa là sự kiện sẽ không hoàn tất, nhưng không xảy ra lỗi. Mặc nhiên là False. VD: Bạn muốn rằng khi form A mở ra thì form B sẽ mở ra nếu người sử dụng đồng ý, bạn có thể code cho thủ tục sự kiện như sau:

Private Sub Form_Open(Cancel As Integer) If MsgBox(“Ban co muon form B mo ra dong th oi luon khong?”, vbYesNo) = vbYes Then DoCmd.OpenForm “form B” Else Cancel = True End If End Sub

Ghi chú: Bất kỳ một thủ tục sự kiện nào nó thông số là Cancel, thì sự kiện tương ứng đều có thể cho ngưng không cho hoàn tất. Trong trường hợp bạn sử dụng một macro hoặc một phương thức của DoCmd thì nếu hoãn một sự kiện, sẽ có một error trả về. Để tránh xuất hiện lỗi thì nế dùng macro, bạn có thể đặt trước macro đó một macro SetWarnings và gán cho thuộc tính WarningOn là No, dùng DoCmd trong code thì trước đó bạn đặt câu On Error Resume Next.

2. Sự kiện Load:

Sự kiện Load xảy ra bởi tác động của người dùng như: – Bắt đầu một ứng dụng. – Mở một form bằng cách nhắp vào Open trên cửa sổ Database. – Thực thi một hành động OpenForm trong macro. – Gọi form bằng DoCmd.OpenForm trong thủ tục.

Thuộc tính sự kiện tương ứng có tên là OnLoad.

Thủ tục sự kiện tương ứng có tên là Form_Load, không có tham số. Khi điều khiển sự kiện này, bạn có thể thực hiện những công việc sau: Thiết lập các giá trị mặc định cho các control hoặc thể hiện các giá trị tính toán tùy thuộc vào dữ liệu có trên form.

VD: Trong public module bạn có một biến language. Nếu biến này là “V” thì bạn cho hiển thị các caption của các Label là tiếng Việt, “E” thì hiển thị là tiếng Anh. Biến này sẽ tùy thuộc vào việc người ta chọn trong một thủ tục nào đó trước khi form bạn được gọi vào. Trước tiên, khi thiết kế form, ở các label, bạn đặt các từ “ính lịt” tương ứng ở property Tag của nó. Sau đó bạn thiết kế thủ tục Form_Load như sau:

Private Sub Form_Load () Dim ctl As Control For Each ctl In Detail.Controls ‘ or FormHeader.Controls, FormFooter.Controls If TypeOf ctl Is Label Then x = ctl.Caption ctl.Caption = ctl.Tag ctl.Tag = x End If Next End Sub

3. Sự kiện Resize:

Sự kiện xảy ra khi form được gọi và bất cứ khi nào kích thước của form thay đổi.

Thuộc tính sự kiện tương ứng có tên là OnResize.

Thủ tục sự kiện tương ứng có tên là Form_Resize. Thủ tục này không có tham số.

Khi điều khiển sự kiện này, bạn có thể: – Di chuyển hoặc định lại kích thước của một control. – Tính toán lại các biến.

VD: Khi có sự thay đổi kích thước của form sẽ cho hoàn tất những cập nhật màn hình còn đang treo hoặc những tính toán chưa thực hiện xong trên các control bằng phương thức Repaint.

Private Sub Form_Resize() Me.Repaint End Sub

4. Sự kiện Activate:

Sự kiện xảy ra khi một form (cũng đúng với report) nhận một focus

(cái này không dám dịch ra tiếng việt, bởi dịch ra thì hổng ai hiểu, còn để nguyên thì ai cũng hiểu !!! :sifone:)

và trở thành cửa sổ hoạt động.

Thuộc tính sự kiện tương ứng có tên là OnActivate.

Thủ tục sự kiện tương ứng có tên là Form_Activate. Thủ tục không có tham số.

VD: Bây giờ bạn có thiết kế một cái toolbar chỉ dành riêng cho form A. Như vậy nếu form A được kích hoạt thì mới hiện toolbar này (ví dụ toolbar này có tên là FormA_Toolbar).

Private Sub Form_Activate() DoCmd.ShowToolbar “FormA_Toolbar”, acToolbarYes End Sub

5. Sự kiện Current:

Sự kiện xảy ra khi một focus được di chuyển đến một record, làm cho nó trở thành record hiện hành, hoặc khi form được “làm tươi mát” (refresh) hoặc được gán lại source (requery).

Thuộc tính sự kiện tương ứng có tên là OnCurrent.

Thủ tục sự kiện tương ứng có tên là Form_Current. Thủ tục này không có tham số.

VD: Bạn có một form hiển thị một số thông tin của một table, trong đó có 3 textbox ứng với 3 field(tạm là text1, text2, text3) và một checkbox cũng ứng với một field Yes/No(check1). Yêu cầu đặt ra là nếu check1 bằng True thì không cho thay đổi nội dung trong 3 textbox.

Private Sub Form_Current () text1.Locked = check1 text3.Locked = check1 text3.Locked = check1

6. Sự kiện UnLoad:

Sự kiện Unload xảy ra khi: – Người sử dụng nhấn nút Close trên cửa sổ Form. – Người sử dụng gọi menu File – Close. – Gọi một macro Close một cửa sổ có thuộc tính Form. – Gọi một lệnh DoCmd.Close với kiểu cửa sổ là acForm. – Đóng Windows trong khi ứng dụng Access đang chạy.

Unload là sự kiện đầu tiên của chuỗi sự kiện sau:

Thuộc tính sự kiện tương ứng là OnUnload.

Thủ tục sự kiện tương ứng là Form_Unload. Thủ tục này có một thuộc tính Cancel. Như ở bài trước, bạn đã biết nếu Cancel = True thì có nghĩa gì rồi phải không?

Private Sub Form_Unload (Cancel As Integer) If danglam Then If MsgBox (“Du lieu da co thay doi. Co muon luu truoc khi dong khong?”, vbYesNo) = vbYes then DoCmd.SaveRecord Else DoCmd.Undo End If End Sub

7. Sự kiện DeActivate:

Sự kiện xảy ra khi bạn rời focus ra khỏi form (hoặc report). Nó cũng xảy ra sau khi form (report) được Unload.

Thuộc tính sự kiện tương ứng có tên OnDeactivate.

Thủ tục sự kiện tương ứng có tên Form_Deactivate. Không có tham số.

VD: Tiếp theo ví dụ của mục 4 phía trên (bài trước), khi chuyển focus ra khỏi form A, bạn cho ẩn tool box đi.

Private Sub Form_Deactivate() DoCmd.ShowToolbar “FormA_Toolbar”, acToolbarNo End Sub

8. Sự kiện Close:

Sự kiện xảy ra khi form đã thực sự được đóng lại nhưng chưa rời hỏi màn hình. Về cơ bản xem như nó đã được đóng lại, nhưng nếu bạn có “lưu luyến” gì với người dùng, bạn có thể gửi một thông điệp gì đó ở đây đại loại như … xem ví dụ bên dưới.

Tên thuộc tính sự kiện tương ứng là OnClose.

Tên thủ tục sự kiện là Form_Close. Không có tham số.

VD: Gửi một thông điệp “lưu luyến”

Private Sub Form_Close () MsgBox “See you soon.” Sự kiện này xảy ra khi người sử dụng gõ vào ký tự đầu tiên trong record mới, nhưng trước khi record ấy thực sự được tạo.

Sự kiện này bắt đầu một dãy sự kiện sau đây:

Thuộc tính sự kiện có tên là BeforeInsert.

Thủ tục sự kiện có tên là Form_BeforeInsert. Có một tham số quen thuộc là Cancel.

VD: Giả sử bạn là người rất cẩn thận. Bạn muốn rằng khi một người sử dụng gõ một ký tự bất kỳ vào record mới, bạn sẽ lưu ý họ liền, sợ rằng họ vô tình nhấn phím mà thôi. Bạn có thể code nhẹ nhàng như sau:

Private Sub Form_BeforeInsert(Cancel As Integer) If MsgBox(“Them record moi ha ban?”, vbOKCancel) = vbCancel Then MsgBox “Lan sau nho can than khi su dung ban phim nghen !!!” Cancel = True End If End Sub

10. Sự kiện BeforeUpdate:

Sự kiện xảy ra khi có một sự thay đổi dữ liệu trong một control thuộc form hoặc khi record được cập nhật (update). Đúng ra đây đang liệt kê các sự kiện của Form, nhưng sự kiện này cũng ảnh hưởng đến một control, vậy có nên nói luôn ở đây không ta? Thôi chơi luôn há?

Đối với form, sự kiện này sẽ xảy ra khi bạn dời focus từ record hiện hành sang một record khác nhưng chưa dời thật sự, hoặc bạn đã gọi lệnh Save Record trong menu Records, hoặc bạn gọi macro SaveRecord hoặc bạn dùng lệnh DoCmd.RunCommand acCmdSaveRecord. Đối với control, sự kiện này sẽ xảy ra khi bạn dời focus từ control đó sang một control khác mà ở control hiện hành bạn có thay đổi dữ liệu. Sự kiện BeforeUpdate của form xảy ra sau sự kiện BeforeUpdate của control. Bạn nên chú ý điều này để việc điều khiển bằng thủ tục sự kiện cho phù hợp.

Thuộc tính sự kiện có tên là BeforeUpdate.

Thủ tục sự kiện có tên là: Form_BeforeUpdate đối với form controlname_BeforeUpdate đối với một control

Cả hai đều có tham số quen thuộc Cancel. Với form, khi Cancel = True, nó sẽ không cho bạn rời khỏi record đó, trừ khi bạn nhấn ESC để hủy thay đổi (hoặc một macro hay lệnh tương ứng) hay nhập liệu cho chính xác với yêu cầu. Đối với control, khi Cancel = True, nó sẽ không cho bạn rời khỏi control đó trừ khi bạn cũng nhấn ESC để hủy bỏ thay đổi (hoặc nhập dữ liệu phù hợp).

VD: Giả sử bạn nhập dữ liệu điểm thi 3 môn học A, B, C cho các thí sinh. Trong đó nếu khối của thí sinh là 1 thì môn A nhân hệ số 3, khối của thí sinh là 2 thì môn B nhân hệ số 3, khối của thí sinh là 3 thì môn C nhân hệ số 3. Điểm trung bình là tổng điểm 3 môn sau khi đã nhân với hệ số chia cho 5. Các điểm chỉ được từ 0 đến 10. Điểm trung bình sẽ tính ngay sau khi 3 môn được nhập. Điểm từng môn sẽ kiểm sau khi nhập xong điểm môn đó. Giả sử các control của bạn là: mahs, hotenhs, khoi, monA, monB, monC, dtb Bây giờ bạn sẽ “chế” 2 cái thủ tục BeforeUpdate cho form và cho các control điểm như sau:

Làm một cái cho điểm môn A, điểm môn B và môn C tương tự:

Private Sub monA_BeforeUpdate (Cancel As Integer) MsgBox “Diem mon chi tu 0 den 10 thoi.” Cancel = True End If End Sub

Làm cho form:

Private Sub Form_BeforeUpdate (Cancel As Integer) dim diem as double ‘ Lay theo kieu chuan, dung Single cung duoc tuy ban diem = IIf(khoi = 1, monA*3, IIf(khoi = 2, monB*3, monC*3))/5 dtb=diem End Sub

11. Sự kiện AfterUpdate:

Sự kiện xảy ra sau khi dữ liệu trong control đã có thay đổi, hoặc khi record đã được cập nhật vào table. Nó xảy ra sau sự kiện BeforeUpdate. Trong một record, dữ liệu có thay đổi trong mỗi control sẽ được cập nhật khi rời focus khỏi control đó bằng ENTER hoặc TAB. Còn nếu khi focus rời khỏi record hoặc người sử dụng gọi menu Records – Save Record, hay dùng lệnh DoCmd.RunCommand acCmdSaveRecord trong code. Lưu ý: sự kiện này không xảy ra khi có sự thay đổi giá trị trong các control tính toán hoặc control Unbound. Từ sự kiện này, bạn có thể điều khiển nó để thực hiện một vài tác vụ tương tự như sau: – Cho mở ra một form khác – Di chuyển sang một control khác với control default (control mặc định khi bạn nhấn ENTER, TAB sẽ chuyển focus đến nó). … Thuộc tính sự kiện có tên là AfterUpdate. Thủ tục sự kiện có tên: Với control: controlname_AfterUpdate Với form: Form_AfterUpdate. Thủ tục này không có tham số.

12. Sự kiện AfterInsert:

Sự kiện xảy ra sau khi recordmới được thêm vào. Thuộc tính sự kiện có tên là AfterInsert. Thủ tục sự kiện có tên là Form_AfterInsert, không có tham số.

13. Sự kiện Current:

Sự kiện xảy ra khi focus di chuyển đến một record, biến record đó trở thành record hiện hành, hoặc khi form được làm tươi nội dung – refresh hoặc làm tươi dữ liệu – requery. Thuộc tính sự kiện có tên là OnCurrent. Thủ tục sự kiện có tên là Form_Current. Không có tham số. Khi điều khiển sự kiện này, bạn có thể: – Cho thay đổi thuộc tính của một hay nhiều control nào đó, ứng với giá trị của một hay nhiều control khác. – Cho Requery lại dữ liệu trong Sub form khác. – …

VD: Thường trong khi thiết kế, bạn sẽ gặp tình huống sẽ thiết kế một form trong đó chứa 2 subform hoặc hơn. Khi chuyển đến một record nào đó trên subform 1 thì dữ liệu trong subform 2 sẽ thay đổi tương ứng, và rồi cũng thay đổi dữ liệu luôn trong subform 3 nếu nó có. Vậy chúng ta làm điều đó như thế nào? Trước tiên các bạn cần lưu ý, dữ liệu của các subform phải có quan hệ với nhau thì mới áp dụng được cách này. Bây giờ giả sử ta có 3 table: KHOI (makhoi, tenkhoi) LOP (malop, tenlop, makhoi) HOCSINH (mahs, hoten, malop) Bây giờ xem như bạn đã design 3 cái form tương ứng cho từng table (frmKHOI, frmLOP, frmHOCSINH). Bạn làm một cái form mới trắng. Nhúng 3 cái subform: – subform thứ nhất: Name: subKHOI, Source Object: frmKHOI – subform thứ hai: Name: subLOP, Source Object: frmLOP, Link Child Fields: makhoi, Link Master Fields: subKHOI.Form!makhoi – subform thứ ba: Name: subHOCSINH, Source Object: frmHOCSINH, Link Child Fields: malop, Link Master Fields: subLOP.Form!malop Bây giờ bạn vào frmKHOI. Bạn code cho Form_Current một câu thôi:

Parent.subLOP.Requery

.

14. Sự kiện BeforeDelConfirm:

Sự kiện này xảy ra khi có một hành động xóa một hay nhiều record được gọi, nhưng trước khi chúng thật sự bị xóa khỏi table (những record này tạm thời được giữ trên vùng nhớ đệm – buffer) và trước khi MS Access hiển thị một hộp thoại yêu cầu xác nhận hành động xóa này.

Nếu bạn gỡ bỏ check box Record Changes trong nhóm Confirm của trang Edit/Find của hộp thoại Options (Tools – Options …), sự kiện này sẽ không xảy ra và tất nhiên hộp thoại xác nhận cũng không hiển thị. Record được xóa ngay lập tức! (Đừng nên làm như thế).

Bạn có thể điều khiển sự kiện này để thay thế hộp thoại thông báo của riêng bạn trước khi người sử dụng đồng ý xóa.

Thuộc tính sự kiện tương ứng có tên BeforeDelConfirm. Thủ tục sự kiện tương ứng có tên Form_BeforeDelConfirm. Thù tục này có hai tham số. Tham số Cancel quá quen thuộc và Tham số Response: xác định xem điều gì sẽ thực hiện khi sự kiện xảy ra. – Nếu Response = acDataErrDisplay (mặc định), sau khi thủ tục sự kiện thi hành xong, Access cho hiện hộp thoại xác nhận xóa của chính nó. – Nếu Response = acDataErrContinue, Access sẽ bỏ qua hộp thoại xác nhận.

VD: Bạn muốn cho người sử dụng thấy hộp thoại riêng của bạn khi xóa, bạn có thể code cho thủ tuc sự kiện như sau:

Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer) Response = acDataErrContinue If MsgBox(“Xóa record đã chọn chứ?”, vbOKCancel) = vbCancel Then Cancel = True End If End Sub

15. Sự kiện AfterDelConfirm:

Sự kiện xảy ra sau khi hộp thoại xác nhận xóa đã hiển thị và nhận thông tin phản hồi từ người sử dụng. Nếu sự kiện BeforeDelConfirm có bị hủy thì sự kiện này vẫn xảy ra. Nó cho biết tình trạng của việc xóa xảy ra thế nào.

Thuộc tính sự kiện có tên: AfterDelConfirm. Thủ tục sự kiện có tên: Form_AfterDelContfirm. Thủ tục có một tham số Status để nhận tình trạng hiện thời của thao tác xóa. – Nếu Status = acDeleteOK thì việc xóa xảy ra bình thường. – Nếu Status = acDeleteCancel thì việc xóa được lập trình viên tự động cho hoãn. – Nếu Status = acDeleteUserCancel thì việc xóa là do người dùng thực hiện.

VD:

Private Sub Form_AfterDelConfirm(Status As Integer) Select Case Status Case acDeleteOK MsgBox “Xóa bình thường.” Case acDeleteCancel MsgBox “Bị hủy do lập trình viên.” Case acDeleteUserCancel MsgBox “Bạn đã hủy lệnh xóa.” End Select End Sub

16. Sự kiện Delete:

Với sự kiện Delete, việc xóa xem như “trọn bộ”. Sự kiện xảy ra khi người sử dụng đặt một hành động xóa record, nhưng trước khi record thực sự được xóa.

Sự kiện Delete xảy ra cho từng record. Do vậy nếu bạn chọn nhiều record để xóa cùng lúc, sự kiện Delete sẽ xảy ra bấy nhiêu lần. Thông thường khi điều khiển hành động xóa, người ta ít thực hiện trên sự kiện này.

Thuộc tính sự kiện có tên OnDelete. Thủ tục sự kiện có tên: Form_Delete. Có một tham số quen thuộc là Cancel.

Với form, còn nhiều sự kiện nữa, tuy nhiên những sự kiện kể trên là thông dụng và thường được điều khiển “bẫy bắt” nhiều nhất. Nếu bạn nào chịu khó, bạn đó có thể mở Help của thằng Access ra luyện công. Bảo đảm không lên không ăn tiền.

17/Các sự kiện phím:

Thông thường thì mỗi control sẽ tiếp nhận 3 trạng thái phím khi nó được focus. KeyDown, KeyUp và KeyPress. KeyDown xảy ra khi người dùng nhấn một phím trong khi control đang focus. Nó cũng xảy ra khi bạn dùng hành động SendKeys (trong macro) hay lệnh SendKeys trong code. KeyPress cũng vậy, nhưng có một chút khác biệt: nó xảy ra khi nhấn và nhả phím trong khi control đang focus. Và trong khi với KeyDown, bạn có thể kiểm tra được là nếu người dùng nhấn tổ hợp phím thì phím kết hợp sẽ là gì: CTRL, ALT, SHIFT một cách riêng biệt. Trong khi KeyPress thì không. KeyUp là sự kiện xảy ra khi người dùng nhả phím ra. Nó giống như KeyDown, nghĩa là có thể kiểm tra được là nếu người dùng nhấn tổ hợp phím thì phím kết hợp sẽ là gì: CTRL, ALT, SHIFT một cách riêng biệt. Tùy theo tình hình cụ thể, các bạn có thể điều khiển sự kiện phím thích hợp.

Với sự kiện KeyDown, bạn có thuộc tính sự kiện OnKeyDown. Thủ tục sự kiện tương ứng là control_KeyDown. Thủ tục này có 2 tham số:

KeyCode

: tiếp nhận mã phím mà người sử dụng nhấn (không tính các phím kết hợp). Bạn có thể dùng các hằng định sẵn để xác định phím mà người dùng nhấn (vbKeyA – phím A, vbkeyReturn – phím Enter, …). Các bạn chịu khó mở cửa sổ Object Browser (lúc đang ở cửa sổ VB Editor) xem lib VBA, mục KeyCode constants để biết nhiều hơn. Nếu bạn ngăn không tiếp nhận sự kiện nhấn phím, bạn gán tham số này bằng 0.

Shift

: xác định xem phím kết hợp nào được nhấn cùng. Nhấn SHIFT: acShiftMask Nhấn CTRL: acCtrlMask Nhấn ALT: acAltMask

Một ví dụ để điều khiển sự kiện KeyDown: VD: Kiểm tra xem, có nhấn phím CTRL xuống không, nếu không thì thoát thủ tục. Nếu có thì coi có nhấn phím F3 không. Nếu có thì cho hiển thị một cái form gì đó.

Private Sub mahocsinh_KeyCode(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyF3 Then

DoCmd.OpenForm “frmLylichHocsinh”, acNormal

End If

End If

End Sub

Private Sub hoten_KeyPress(KeyAscii As Integer)

Dim strCharacter As String

strCharacter = Chr(KeyAscii)

KeyAscii = Asc(UCase(strCharacter))

End Sub

18. Sự kiện Not In List:

Sự kiện này dành riêng cho control Combo Box. Sự kiện xảy ra khi người sử dụng nhập vào ô text của combo box với nội dung không khớp với dữ liệu có sẵn trong danh sách nguồn của combo box và thuộc tính

Limit to List

của combo box được định là Yes.

Các bạn có thể điều khiển sự kiện này để thông báo cho người sử dụng nội dung mà người đó nhập vào không đúng với quy định hay thậm chí bạn có thể cho “tự động” hay “bán tự động” add thêm dữ liệu vào bảng dữ liệu nguồn (Row Source) của combo box.

Thuộc tính sự kiện có tên là

OnNotInList

. Thủ tục sự kiện có tên là

comboboxname_NotInList

. Thủ tục có hai tham số: NewData: tham số lưu trữ giá trị của nội dung được nhập mới mà không khớp với danh sách hiện có của combo box. Response: tham số chỉ định cách thức “hồi đáp” lại sự kiện này. Có 3 “vé”: Response = acDataErrDisplay (cái này mặc định): Khi xảy ra sự kiện, Access sẽ mở ra hộp thông báo của chính nó. (Cái này thường ít ai muốn, vì nó chơi tiếng tây trong khi chương trình lại toàn là tiếng ta !!!). Response = acDataErrContinue: Nếu định như thế này thì Access sẽ không cho hiện hộp thông báo của nó nữa. Bạn có thể chêm vào thông báo của mình. Response = acDataErrAdded: Bạn có thể thêm vào danh sách hiện có của combo box nội dung không khớp đó như là dữ liệu thêm mới. Access sẽ chấp nhận nó và cho qua, không thông báo lỗi.

VD1: Thông báo lỗi khi dữ liệu nhập vào không khớp

Private Sub combo_NotInList(NewData As String, Response As Integer)

Response = acDataErrContinue

MsgBox “Xin vui long chon trong danh sach hien co.”, vbExclamation, “Thong Bao”

End Sub

VD2: Thêm vào danh sách của combo box trong trường hợp Row Source Type của combo box là Value List.

Private Sub dvt_NotInList(NewData As String, Response As Integer)

Response = acDataErrAdded

dvt.RowSource = dvt.RowSource & “;” & NewData

End Sub

VD3: Giả sử bạn có table tblDVT chứa các đơn vị tính, và chỉ có một field là dvt (thể có nhiều hơn, nhưng field dvt là field chính). Trong một form, bạn tạo một combo box có Row Source là tblDVT. Bây giờ khi người sử dụng nhập thêm một đơn vị tính mới, lập tức nó sẽ được add ngay vào table. Cái vụ này sướng à.

Private Sub dvt_NotInList(NewData As String, Response As Integer)

Response = acDataErrAdded

CurrentDB.Execute “INSERT INTO tblDVT(dvt) VALUES(‘” & NewData & “‘)”

End Sub

____________________________________________________________________________________

Tổng Hợp Thủ Thuật Game Avatar / 2023

Tổng hợp một số Thủ thuật và mẹo chơi game avatar mới nhất được sưu tầm trên internet. Những kinh nghiệm chơi Avatar của một số bạn chơi lâu năm đốc kết được

Tổng hợp Avatar Mod, Hack Avatar miễn phí

Thủ thuật ăn trộm nick:Khi có ai mượn máy điện thoại của bạn chơi Avatar và đánh dấu ghi nhớ tên TK và Mk lúc đó bạn muốn lấy cắp mk ko khó.Bạn để nguyên như ban đầu khi vẫn còn nick ở đấy bạn di chuyển xuống phần mật khẩu bạn ấn thêm số 1 nhanh chóng đồng thời bạn ấn luôn nút xoá đi thế là sẽ hiện ra chữ cái hay con số cuối cùng của MK,tiếp tục như thế bạn xoá đi chữ cuối vừa biết sau đó lại làm thao tác như trên bạn lại đc chữ hoặc số tíếp theo tính giật lùi.Cứ như thế bạn ghi ra giấy theo thứ tự giật lùi sau khi soi xong và viết ra giấy đósẽ là MK của Tk định lấy trộm bạn đăng nhập vào lấy xu,lấy cả nick hay bán hết đồthì tuỳ bạn.

đơn giản tiết kiệm: Khi chơi game Avatar nếunuôi gà thì sau khi còn 6h nữasẽ đc thu hoạch các bạn vào nt đầu tiên vứt 12 hạt thức ănxong tiêm thuốc cúm và tiêu chảy cho những con bị bệnh ko cần phải cho uống thuốc bổ,đến giờ thu hoạch chỉ việc vào lấy trứng và bán gà tất cả gà lúc đó đã đầy vạch.chăm sóc lợn và bò cũng vậy nhưng bò phải cho ăn thường xuyên để lấy sữa.Chăm sóc như vậy vừa nhanh lại tiết kiệm thời gian và ko tốn kém mấy; khi chơi game mini đánh bài hoặc mua đất các bạn sử dụng máy 2Gko nên chơi vào giờ cao điểm(từ 19h-21h30 tối) vì mạng lúc đó rất lag có thể bị mất tiền oan và những ngày chủ nhật khách on nhiều.

Tạo nhân vật đầu trọc:Thu thuat nay minh vo tinh lam duoc va lam lai thanh cong 3 nick gio huong dan cac ban lamb1 cac ban tai pb avatarhp1478 cua m o phan avatar tren daub2 cac ban dang nhap nick muon tao nv đầu trọc doi sau 1s an cancelrui an dang nhap tiepb3 luc nay man hinh lang va k hien man hinh tao nv ban an mkn rab4 dang nhap lai lan nay ban dang nhap doi 3s an cancel man hinh se vao luon ma k co khung tao nv ban vao nt di lai 1 luc roi an mknb5 an dang nhap roi cancel that nhanh vao game dung an gi het chi an mkn roi thoat game doi 10phut sau dang nhap lai la duoc nv dau troc(dong may 6300,3110c,5300…lam de hon)

Tạo nv tóc ăn xin: Down pb avatar ms về vào khu cao cấp mua tóc hot boy có thời hạn(30 ngày) khi hết hạn sẽ thành tóc ăn xin,ai pit rùi đừng ném gạch.

Cách lấy lại mk Rương đồ: Tai nhiêu nguoi phan nan qua, nen minh huong dan.Truoc het bạn vao MXH chúng tôi sau đo dang nhap nick cua ban muon lay lai mk ruong,sau do bang thong tin hien len ban bam vao o chu “Báo lỗ” rồi bấm làm tiếp theo chi dan ben trong nhưng nho la chon game avatar xin an xa nhe. Ghi ro nhung dieu sau:-Ten tk bi quen mk Ruong-SĐT dang ki nick dova thu 2 la cho khoang 1 ngay sau, len MXH xem hom thu phan bao loi luc dau va thay mk Ruong.

Mình vừa phát hiện ra thêm một thủ thuật mới. Thu hoạch nhanh không mất vui vẻ. Thu hoạch 1 cây ở hàng dưới xong lạichạy lên thu hoạch tiếp xong lai chạy xuống thu hoạch. Cứ thế, nhanh không kém chạy thẳng màkhông bị mất sức khỏe.

Tạo nv đầu trọc mới update:Dụg cụ:1 pb avatar 1891 nix chưa tạo nhân vật 8k.xuhướg dẫn:đầu tiên ae vào pb 189,ae trọn tp xog ấn ok nó hiện lên chữ đc truy cập mạg? Ae ấn kô.típ tới nó hiện lên chữ kết nối thất bại. Bạn mún cập nhập ds tp,ae ấn chúng tôi ae lại ấn típ no lại hjên lên chữ đc truy cập mạg? Ae ấn kô.xog lần này ae ấn vào nó vào tp chúng tôi đi nhặt hộp quà (kái này hơi khó)xog mở hộp qùa ra đc băg rô,cờ,mặt lạ.ae off ra vào pb tạo tóc lượg.ấn vào tạo chúng tôi thíx trọn kgai hay ktrai kủg đc.ae ấn tạo xog k thấy nó vào tp ae ấn lần thứ 2 thấy nó cứ xin chờ… Ae thóat ra vào pb avatar 189 là có đầu trọc.hix viết mệt qúa.k tks cho ăn kả tạ gạck

b4: lấy đt khác gọi hoặc ấn nút đỏ để quá trình tạo nv bị mkn.B5: tạo lại nv lần nữa rồi ấn nút thoá luôn ra ngoài nếumáyghiuds okƯu điểm: Hôn tất cả m.n và m.n cũng hôn mình đc.Ko sợ bị ko hôn được người đồng giới…..Nhược điểm: làm rất khó (mình ms đc 2/5 nick) vả lại ko thể mặc đc đồ khác giới

Thủ thuật girl mặc đồ boy:

Ae đăng nhập nick girl hoặc boy vào shop,vào nhưng ko mua.thấy nó hiện lên quần áo thì đóng chạy ra cửa thoát chúng tôi nhanh tay ấn ok lại chạy vào ấn cho hiện quần áo lên.lúc này đã thoátra cửa shop rồi,dùng chuyểnnv chạy thẳng vào shop sẽ hiện quần áo của nick trước

Quan sgk: 8h sang goc 27. Tam 8 phat tp dieu kiAo sgk: 3h chieu vach to dau tien tp dieu kiQua bong: 8h-9h toi goc 90 vach to thu 2 day tp dieu kiCanh tieu tien : 11h trua goc 1tp dieu kiMu chu he : 10h goc 1 tp dieukithien than ti hon: 6h toi goc 70 tp huyen dieuleu2: 4h chieu tp dieu kiAo hoang tu: 8h toi goc 120 tp huyen dieuQuan hoang tu : Ngay sau khi duoc ao dung quay khoang 20-30phut xong tiep tuc quaygoc 120Mat na xeko: 9h sang goc 1 tptri kiVMHT: 12h dem goc 18 tp tri kiVMHL: 3h sang goc 42 tp tri kiKinh sieu sao: 7h toi goc 120 tp huyen dieuKinh dai bang: 6h sang goc 80 tp huyen dieuRau bo gia: 1h sang goc 60 tpdieu kiCung than va mu arae hay area gi do thi moi test duoc 1 nick nhung mat 1k2luong chua chac lam goc: cung than la 5 luc 9h toi mu arae la 5 luc 11h toi tp dieu ki.

Tổng Hợp Các Thủ Thuật Gmail / 2023

Nếu bạn có một email dài lê thê lếch thếch thì sao nhỉ. Chỉ cần thêm dấu (.) vào địa chỉ email là xong mọi việc sẽ trở nên dễ hiểu hơn troioilatroi.visaotoikhothenay.bamatoioi@gmail.comLưu ý: Ví dụ: Bạn có 1 email hoặc bạn cần gửi email đến địa chỉ email “dã man” như sau: troioilatroivisaotoikhothenaybamatoioi@gmail.com Để khỏi nhầm lẫn bạn có thể thêm dấu (.) vào địa chỉ email như sau

+ Không sử dụng dấu chấm (.) ở đầu hoặc ở cuối tài khoản Gmail + Không được sử dụng liên tiếp 2 dấu chấm

2. Thêm dấu cộng (+) ở cuối tài khoản Gmail

Bạn cũng có thể sử dụng thêm dấu cộng (+) để tùy biến địa chỉ Gmail. Sau dấu (+) là bất kỳ từ ngữ, ký tự, số bất kỳ. Khi đó, Gmail sẽ bỏ qua dấu cộng (+) và tất cả những gì mà thêm vào sau dấu (+) Tác dụng của dấu ( + ) thần thánh này: + Có thể dùng để đăng ký, subscribe trên các website, blog, mỗi nơi một địa chỉ khác nhau. Ví dụ: Site A: sử dụng email đăng ký: abc+campuchia@gmail.com Site B: sử dụng email đăng ký: abc+lao@gmail.com ….. Nhận được email phản hồi, bạn dễ dàng biết được đã đăng ký từ đâu. Quá tiện rồi đúng không nào Bạn có thể nghiên cứu tìm hiểu thêm, từ đó tạo cho mình bộ lọc phục vụ cho công việc của mình.

8. Lấy lại email đã gửi bằng Undo Send ( có chỉ định thời gian – tổi đa là 30s )

9. Tạo Group, nhóm liên lạc trên Gmail và email theo G-Suite

11. Google Mail Checker kiểm tra và nhận thông báo có bao nhiêu Gmail được gửi đến

Extensions này do Google cung cấp nên rất an toàn, bảo mật và có nhiệm vụ duy nhất: check xem có mail gửi tới cho mình không và bao nhiêu mail kiểm tra xem có mail gửi đến và có bao nhiêu email. Sử dụng khá tiện và giúp bạn đỡ quên email đến. Bạn có thể tải và thêm vào Google Chrome Tại đây

Sẽ cập nhật tiếp….

Với tổng hợp các thủ thuật Gmail, hi vọng bạn sẽ có thêm trải nghiệm về Gmail cũng như Google Search. Mình sẽ thường xuyên cập nhật. Như vậy là xong.

Tổng Hợp Thủ Thuật Seo Google Plus / 2023

Chia sẻ :

Bản đồ hiệu quả Seo Google+

Giới thiệu website:  Chuyên gia Marketing  Võ Tuấn Hải

Mặc dù tôi sử dụng Twitter và Facebook thường xuyên hơn. Google+ vẫn thống trị các kết quả tìm kiếm. Nhân này cho 100 triệu người, và bạn có thể bắt đầu hiểu được phạm vi hiệu quả của của Google Plus, đơn giản vì nó là sản phẩm của Google.

1.Đặt kiên kết trong Profile của bạn

Google+ không chỉ cho phép bạn liên kết , nhưng bạn có thể nhúng các liên kết trực tiếp trong Profile theo sự lựa chọn của bạn. Giá trị của một liên kết từ Google+, trong lý thuyết, giống như bất kỳ trang web khác. Nó phụ thuộc vào trang và tên miền. Hồ sơ của tôi Loi Bui cho thấy số liệu: PageRank: 2 và các số liệu khác ảnh hưởng đến Seo, quá tốt khi bạn có 1 liên kết từ trang sản phảm của google như Google Plus với PR=2 Nếu bạn có thể nâng cao khả năng hiển thị của bạn bằng cách thêm nhiều người tham gia với bạn, chia sẻ bài viết của bạn, hoặc liên kết trực tiếp vào hồ sơ của bạn, có giá trị liên kết của bạn sẽ rất lớn.

2. Nhúng các liên kết trong bài viết

  

Giống như các liên kết hồ sơ cá nhân, Google+ cũng cho phép bạn chèn các liên kết trực tiếp vào bài viết của mình. Đơn giản chỉ cần chèn URL đầy đủ và Google sẽ tự động định dạng nó như là một liên kết. Giá trị của những liên kết này tăng khi bài viết này tăng số lần được Share và +1 ngay phía dưới.

3. Thay đổi title vòng kết nối:

  

Nó tương ứng là thẻ Tilte và Description, bạn có thề tối ưu nó theo xu hướng có lợi cho SEO, phù hợp với lĩnh vực của dự án bạn đang SEO nâng cao thứ hạng trên google.

4. Google Plus chỉnh sửa nội dung không giới hạn quyền

  

Google+ giống như blog nền tảng cá nhân riêng của bạn. Điều này có nghĩa là bạn hoàn toàn có thể chỉnh sửa bất kỳ bài viết của mình bất cứ lúc nào. Không phải như vậy với Facebook hay Twitter. Facebook cung cấp cho bạn chỉ có khả năng hạn chế chỉnh sửa. Còn Twitter chỉ cho phép bạn xóa. Điều này là quan trọng nếu bài viết Google+ của bạn hot và bạn muốn làm cho thay đổi có lợi. Nếu cần, bạn cũng có thể thay đổi thẻ tiêu đề và bất kỳ phương tiện truyền thông nào. Google+ cung cấp cho bạn khả năng kiểm soát nội dung của riêng bạn.

5. Google Plus giúp Index nội dung nhanh

Nếu bạn viết nội dung mới chỉ cần code button +1 trên site và tiến hành share trên Google+, Google sẽ lập chỉ mục các trang rất nhanh chóng, cũng như các mạng xã hội khác của bạn, khả năng index cực nhanh cũng như tạo độ trust website của bạn.

6. Thông báo từ Google giúp bạn kết nối tôt nhất cho Seo

  

7. Tối ưu hình ảnh tăng CTR

  

Hình ảnh hiển thị trên kết quả tìm kiếm ảnh hưởng đến sự gia tăng CTR. Nếu bạn một bức ảnh hấp dẫn, nó sẽ bình thường không vấn đề gì nếu bạn xếp hạng 2, 3 hoặc thậm chí 4. Với một hình ảnh bắt mắt, bạn có thể tăng lưu lượng truy cập lớn hơn so với đối thủ cạnh tranh của bạn. Cài đặt hiển thị google trên kết quả tìm kiếm tham khảo hướng chuẩn của google: Hướng dẫn hiển thị hình trên google

8. Google Plus kiểm tra social media

  

Google Analytics có một công cụ hưu ích miễn phí giúp Webmatser quản lý Socail Media không riêng chỉ Google Plus mà có thể quản lý những Mạng xã hội khác. Giúp bạn thông kê phân tích doanh thu lượng truy cập mạng xã hội, thống kê tổng thể Mạng xã hội

  

Bonus: Cài đặt bảng điều khiển này cho miễn phí trong tài khoản Google Analytics của bạn bằng cách nhấn vào đây .

9. Kiểm tra CircleRank của bạn

 

 Nguồn: urani.vn

Chia sẻ :