技術(shù) 點(diǎn)
- 技術(shù)
- 點(diǎn)
- V幣
- 點(diǎn)
- 積分
- 892
|
借用前輩編寫(xiě)的VB,顯示為 .RecordCount 類(lèi)型不匹配,大神們幫助看看是那里有問(wèn)題 !謝謝!
Option Compare Database
Option Explicit
'用戶(hù)登錄的“用戶(hù)編號(hào)”
Public UserID As String
'用戶(hù)登錄的“用戶(hù)名”
Public UserName As String
Public varTemp(5) As Variant
Function OpenForm(FormID As Integer)
On Error GoTo Err_OpenForm
Dim I As Integer
Dim STemp As String
Dim Rs1 As ADODB.Recordset
Dim Rs2 As ADODB.Recordset
Set Rs1 = New ADODB.Recordset
Set Rs2 = New ADODB.Recordset
'打開(kāi)“系統(tǒng)權(quán)限”數(shù)據(jù)表
STemp = "Select * From 系統(tǒng)權(quán)限"
Rs1.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'打開(kāi)“系統(tǒng)窗體”數(shù)據(jù)表
STemp = "Select * From 系統(tǒng)窗體"
Rs2.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Dim blnOpen As Boolean
Dim FormName As String
blnOpen = False
'判斷“系統(tǒng)權(quán)限”數(shù)據(jù)是否為空
If Rs1.RecordCount < 1 Then
blnOpen = False
Else
Rs1.MoveFirst
'判斷當(dāng)前“登錄用戶(hù)”是否有權(quán)限打開(kāi)FormID對(duì)應(yīng)的窗體
For I = 1 To Rs1.RecordCount
If Rs1("用戶(hù)編號(hào)") = UserID And Rs1("窗體編號(hào)") = FormID _
And Rs1("權(quán)限") = True Then
blnOpen = True
Else
Rs1.MoveNext
End If
Next I
End If
'在“系統(tǒng)窗體”數(shù)據(jù)表中搜索待打開(kāi)窗體的“名稱(chēng)”
Rs2.MoveFirst
For I = 1 To Rs2.RecordCount
If Rs2("窗體編號(hào)") = FormID Then
FormName = Rs2("窗體名稱(chēng)")
Else
Rs2.MoveNext
End If
Next I
'判斷用戶(hù)是否有權(quán)限打開(kāi)窗體,blnOpen為“真”有權(quán)限
If blnOpen = False Then
MsgBox "您沒(méi)有權(quán)限使用" & "“" & FormName & "”窗體", vbCritical, "無(wú)權(quán)使用"
Else
DoCmd.OpenForm FormName, acNormal, , , , acWindowNormal
End If
Set Rs1 = Nothing
Set Rs2 = Nothing
Exit Function
Err_OpenForm:
Set Rs1 = Nothing
Set Rs2 = Nothing
MsgBox Err.Description, vbOKOnly, "窗體打開(kāi)錯(cuò)誤"
End Function
|
|