Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

返回列表 發(fā)新帖
查看: 2867|回復(fù): 2
打印 上一主題 下一主題

重裝office2010 access系統(tǒng)登錄宏按鈕無(wú)法啟動(dòng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2021-5-24 18:28:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
借用前輩編寫(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








分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱

點(diǎn)擊這里給我發(fā)消息

2#
發(fā)表于 2021-5-26 07:31:36 | 只看該作者
nz(Rs1.RecordCount)
3#
發(fā)表于 2021-10-11 10:17:58 | 只看該作者
學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 10:22 , Processed in 0.085531 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表