toancvp > 22-05-16, 11:31 PM
maidinhdan > 23-05-16, 12:45 AM
lehongduc > 24-05-16, 08:46 AM
ongke0711 > 24-05-16, 09:17 AM
lehongduc > 24-05-16, 12:04 PM
(24-05-16, 09:17 AM)ongke0711 Đã viết: Cảm ơn góp ý của anh lehongduc.
Nếu như CSDL này tách ra thành FE, BE và đặt pass cho BE thì chắc là không thể Connect được rồi đúng không anh.
lehongduc > 24-05-16, 12:20 PM
Trích dẫn:Public Function EncryptStr(strInData As String, strPassKey As String) As String
Dim strHexChar As String, strNewDataStr As String, strAscPassKey As String
Dim intPassKeyChar As Integer, intInDataChar As Integer
Dim intNewAscChar As Integer
Dim i As Long
Dim j As Integer
j = 0
strAscPassKey = ""
strNewDataStr = ""
If Len(strPassKey) = 0 Then
For i = Len(strInData) To 1 Step -1
strPassKey = strPassKey & Mid(strInData, i, 1)
Next
End If
For i = 1 To Len(strPassKey)
strAscPassKey = strAscPassKey & Asc(Mid(strPassKey, i, 1))
Next
For i = 1 To Len(strInData)
j = j + 1
intPassKeyChar = Asc(Mid(strAscPassKey, j, 1))
If j >= Len(strAscPassKey) Then j = 0
intInDataChar = Asc(Mid(strInData, i, 1))
intNewAscChar = intPassKeyChar Xor intInDataChar
strHexChar = Hex(intNewAscChar)
If Len(strHexChar) < 2 Then strHexChar = "0" & strHexChar
strNewDataStr = strNewDataStr & strHexChar
Next
EncryptStr = strNewDataStr
End Function
Trích dẫn:Public Function DecryptStr(strInData As String, strPassKey As String) As String
Dim strTmp As String, strHexChar As String
Dim strNewDataStr As String, strAscPassKey As String
Dim intPassKeyChar As Integer, intInDataChar As Integer
Dim intNewAscChar As Integer
Dim i As Long
Dim j As Integer
j = 0
strAscPassKey = ""
strNewDataStr = ""
If Len(strPassKey) = 0 Then
For i = Len(strInData) To 1 Step -1
strPassKey = strPassKey & Mid(strInData, i, 1)
Next
End If
For i = 1 To Len(strPassKey)
strAscPassKey = strAscPassKey & Asc(Mid(strPassKey, i, 1))
Next
For i = 1 To Len(strInData) Step 2
j = j + 1
intPassKeyChar = Asc(Mid(strAscPassKey, j, 1))
If j >= Len(strAscPassKey) Then j = 0
strHexChar = Mid(strInData, i, 2)
intNewAscChar = CInt("&H" & strHexChar)
intInDataChar = intPassKeyChar Xor intNewAscChar
strNewDataStr = strNewDataStr & Chr(intInDataChar)
Next
DecryptStr = strNewDataStr
End Function
zinzin8x > 24-05-16, 05:17 PM
lehongduc > 24-05-16, 09:19 PM
zinzin8x > 25-05-16, 11:33 PM
nam8384 > 16-06-16, 11:40 AM
(18-09-15, 06:52 PM)maidinhdan Đã viết: Sau nhiều ngày miệt mài, mình cũng đã hoàn thiệt tất cả các hàm để xây dựng một Demo Phân quyền chi tiết và để dễ cho mọi người chỉ cần import thẩy vào cái ứng dụng của mình viết là đã sử dụng được ( code ngắn gọi ngắn gọn xúc tích, dể hiểu).
Minh họa 1 đoạn Code:
* Để mở 1 form ta thường dùng lệnh docmd.OpenForm sau sự kiện Click, Nhưng khi bạn sử dụng hàm trong Demo của mình thì không cần gọi dài đến thế, cũng không cần đánh docmd.close ...:
Mã PHP:Private Sub cmdmoform1_Click()
TestQuyenXem ("frm1")
End Sub
* Ý nghĩa, Khi Click, Mở form frm1, kiểm tra 4 quyền: Xem ( tức là mở form), Thêm, Xóa, Sửa
+ Nếu: Tài khoản có quyền Xem thì mở form frm1....tiếp...kiểm tra quyền Thêm, Xóa, Sửa
+ Nếu: Tài khoản Không có quyền Xem chẳng làm gì cả, rồi thông báo Tại sao không mở được.
* MỘt số hinh ành và code sử dụng,
* Quan sát kỹ hình này, tất cả các code có trong 1 form chỉ có vài dòng
Có lẽ mình lám Video tách riêng bài cho các bạn dể sử dụng hơn nửa, chỉ cần chèn vào ứng dụng là sử dụng hoặc phối hợp để viết .
* Các hàm được sử dụng trong Demo
- Hàm chính
+ Quyền xem form
+ Hàm xóa 1 record
+ Hàm thêm mới
+ Hàm khai báo biến toàn cục
- Hàm phụ:
+ Hàm kiểm tra có quyền Thêm, Xóa, Sửa
+ Hàm đóng mở form
Link và Demo: Phía dưới, Pass VBA, xin để lại lời nhắn ở bài này, Pass sẽ chuyển vào Hộp thư của các bạn
Demo tải về tại bài thứ 5,
Thân mến!