AnNguyen > 26-06-20, 08:57 AM
(26-06-20, 01:17 AM)vnt89 Đã viết:(26-06-20, 12:56 AM)ongke0711 Đã viết: Bạn ngâm cứu dùng hàm DLookup() nhé.Mình đã ngâm cứu dùng hàm này rồi nhưng không biết cách sử dụng
tranthanhan1962 > 26-06-20, 10:04 AM
(26-06-20, 01:33 AM)vnt89 Đã viết: Dựa vào hướng dẫn của bạn mình đã làm được rồi! Nhung bạn có cách nào đơn giản hơn không? Với lại mình có thể kiểm tra trùng mahd ngay sau khi nhập xong mahd không Bạn? Mong được sự giúp đỡ từ Bạn? Xin chân thành cảm ơn!Muốn có nhiêu phương án hơn thì phải nghiên cứu và tự học hỏi. Không nên đòi hỏi người khác nhiều quá. Cái vụ này trên forum cũng có nhiều rồi, Bạn search tìm đi nhé
vnt89 > 26-06-20, 11:54 AM
(26-06-20, 08:33 AM)Xuân Thanh Đã viết: 1/ Cách tạo form đơn giản nhất là dùng Winzad khi mới học AccessBạn có thể hướng dãn cụ thể cách dùng hàm Dcount được không?
2/ Đơn giản nhất để tránh trùng thì tạo Primarykey cho trường MaHD Access sẽ tự động cảnh báo trùng nhưng thông báo bằng tiếng Anh
3/ Nếu dùng code thì dùng hàm Dcount đếm MaHD rồi bắt sự kiện MaHD_AfterUpdate để kiểm tra. Nếu Dcount > 1 thì thông báo trùng
ongke0711 > 26-06-20, 02:21 PM
(26-06-20, 12:12 AM)vnt89 Đã viết: Bạn có thể hướng dãn cụ thể cách dùng hàm Dcount được không?
Option Explicit
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 3022 Then 'Ma loi trung du lieu'
Response = acDataErrContinue
End If
End Sub
Private Sub MAHD_BeforeUpdate(Cancel As Integer)
If DLookup("MaHD", "HoaDon", "maHD='" & MAHD & "'") Then
MsgBox "Ma Hoa don da trung", vbExclamation
Cancel = True
End If
End Sub
tranthanhan1962 > 26-06-20, 03:10 PM
ongke0711 > 26-06-20, 03:18 PM
tranthanhan1962 > 26-06-20, 05:50 PM
vnt89 > 30-06-20, 07:06 AM
(26-06-20, 03:10 PM)tranthanhan1962 Đã viết: Mình đã từng là giáo viên tin hoc nên nắm rõ vấn đề của bài kiểm tra này.Cám ơn bạn nhé. Nhưng mình tự học ở nhà, đâu có tập với bạn cùng lớp đâu mà hỏi!
Thứ nhất: Khi đã lên bài kiểm tra thì giao viên sẽ soạn bài kiểm tra vơi số lượng kiến thức đã học, Không có bất kỳ một câu kiểm tra nào năm ngoài chương trình học. Và đây là một mẫu đề cơ bản nhất của trình độ căn bản tương đương bằng B tin hoc.
Thứ hai: Trong đề thường có 1 câu tương đối khó để xếp loại hoc viên, thường là 1 câu code VBA (ở dây là câu 3 - trùng mã hóa đơn). Vơi nhưng câu nhưng thế này thì sẽ có phần bài tập giống hệt như vậy. Hoặc chí ít cũng có một đoạn code tương tự khoảng 90-95%.
THứ 3: Trong các chương trình học kiểu này thì không đươc học hàm nhiều. Giỏi lắm là các hàm: Sum, Count, Average, Msgbox. Cái vụ Dlookup chắc không học luôn nên giải thích cũng không hiểu đâu! Phương án duy nhất là lật tập xem lại bài, hỏi lai bạn cùng lớp. Chứ có chỉ cũng chưa chắc đúng như thầy đã dạy.
vnt89 > 30-06-20, 07:08 AM
(26-06-20, 05:50 PM)tranthanhan1962 Đã viết:Bạn có thể hướng dần mình cách thiết lập Validation Rule, Validation Text được không?(26-06-20, 03:18 PM)ongke0711 Đã viết: Đụng nhầm ông thầy rồi.Không có gì quan trọng nhưng để xử lý việc trung khóa chính không chỉ có code (code có vẻ quá hớp với bạn này) có khi xử lý bằng macro hay thiết đặt Validation Rule, Validation Text. Đâu biết thầy đó dạy những gì!
vnt89 > 30-06-20, 07:13 AM
(26-06-20, 02:21 PM)ongke0711 Đã viết:Bạn ongke0711 có thể giả thích dùm mình ý nghĩa của dấu nháy đơn trong điều kiện của hàm Dlookup được không. Mình suy nghĩ hoài mà không hiểu?(26-06-20, 12:12 AM)vnt89 Đã viết: Bạn có thể hướng dãn cụ thể cách dùng hàm Dcount được không?
Cách tổng hợp đúng yêu cầu của bạn là kết hợp cách của anh tranthanhan1962 và cách của AnNguyen.
- Dùng DCount cho sự kiện BeforeUdate nhưng Form cũng sẽ tự động hiện thông báo mặc định của hệ thống sau thông báo của bạn.
- Để tắt thông báo lỗi của hệ thống thì dùng thêm cách của bác Ân nhưng rút gọn lại: khi có báo lỗi thì cứ chạy tiếp (acDataErrContinue)
Mã PHP:Option Explicit
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 3022 Then 'Ma loi trung du lieu'
Response = acDataErrContinue
End If
End Sub
Private Sub MAHD_BeforeUpdate(Cancel As Integer)
If DLookup("MaHD", "HoaDon", "maHD='" & MAHD & "'") Then
MsgBox "Ma Hoa don da trung", vbExclamation
Cancel = True
End If
End Sub