设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2464|回复: 4
打印 上一主题 下一主题

[Access本身] 给yysky 同志一个解决E表选择性操作的解决方案

[复制链接]
跳转到指定楼层
1#
发表于 2009-7-29 14:31:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 todaynew 于 2009-7-29 14:32 编辑

yysky 同志提出了一个用Access操作Execl的问题,大意是希望能对若干张表按照操作人的不同分别进行显示。这个问题有些趣味,便研究了一番。考虑到该同志的Execl表结构复杂,不便转换为Access数据库,便考虑还是用原表,只是在Access中设权限对原表进行一些显示上的限制。不过这种办法实际上在Execl中是可以还原的,如果yysky 同志只是为了防止其同事误操作的话,这个办法还是可行的。





Private Sub 打开表格_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim myname As String
Dim x As Boolean, y As String
Dim i As Long
If IsNull(Me.人员ID.Value) = False And IsNull(DLookup("密码", "人员表", "人员ID=" & Me.人员ID.Value)) = False Then
    x = Nz(Me.密码.Value, "") = DLookup("密码", "人员表", "人员ID=" & Me.人员ID.Value)
    If x = True Then
        Set xlApp = CreateObject("Excel.Application")
        xlApp.Application.Visible = True
        Set xlBook = xlApp.Workbooks.Open(CurrentProject.Path & "\LCD生产工令单.xls")
        y = DLookup("权限", "人员表", "人员ID=" & Me.人员ID.Value)
        If y = "全部" Then
            For i = 1 To xlBook.Sheets.Count
                xlBook.Sheets(i).Visible = True
            Next
        Else
            myname = DLookup("部门表名", "部门表", "部门ID=" & Me.部门ID.Value)
            xlBook.Sheets(myname).Visible = True
            For i = 1 To xlBook.Sheets.Count
                If xlBook.Sheets(i).Name <> myname Then
                    xlBook.Sheets(i).Visible = False
                End If
            Next
        End If
    Else
        MsgBox "密码错误!"
    End If
End If
Me.密码.Value = Null
Set xlboox = Nothing
Set xlApp = Nothing
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-7-29 15:00:29 | 只看该作者
如果只是需要进行权限设置,我想没必要在A和E中进行跳转.
3#
发表于 2009-7-29 15:19:38 | 只看该作者
看看学学,再说
4#
发表于 2009-7-29 23:18:03 | 只看该作者
瞄瞄
5#
发表于 2009-7-30 08:58:39 | 只看该作者
下载
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-20 08:26 , Processed in 0.073190 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表