隐藏列我有我的主要形式上的两个按钮。其中一个是用户记录反馈,另一个是让我进入并为该反馈添加注释/状态更新。这两个按钮在拆分窗体视图中打开相同的窗体。我想隐藏特定的列,当用户点击他们的按钮与我点击管理按钮。我曾尝试:这两个按钮打开相同的形式,形式开设了一个公众Sub但是之前被称为该布尔变量为true(用于用户按钮)或假(为我的按钮)。然后,当加载过程触发时,它会检查变量值,并尝试隐藏列或不尝试。下面是该代码:在拆分表格的MS Access
Option Compare Database
Public booFeedback As Boolean
Public Sub FeedBackBoolean1()
booFeedback = False
End Sub
Public Sub FeedBackBoolean2()
booFeedback = True
End Sub
然后当窗体本身加载运行这段代码:
Private Sub Form_Load()
Call cmdRemoveFilter_Click
If booFeedback = False Then
Me.colPriority.ColumnHidden = True
Me.colWorkEffort.ColumnHidden = True
Me.colStatus.ColumnHidden = True
Me.colDeliveryDate.ColumnHidden = True
Me.colStatusComments.ColumnHidden = True
Else
Me.colPriority.ColumnHidden = False
Me.colWorkEffort.ColumnHidden = False
Me.colStatus.ColumnHidden = False
Me.colDeliveryDate.ColumnHidden = False
Me.colStatusComments.ColumnHidden = False
End If
End Sub
代码运行正常不过的结果不显示(即我寻找隐藏的列没有正确隐藏)。我发现,如果我进入设计模式,然后关闭并保存,下次运行代码时,代码将正常工作。但是,如果我点击其他按钮,那么结果与上次运行结果相同。另外,我在管理员按钮上放置了伪密码,以便没有人可以点击进入它。到目前为止,不担心安全问题,将会走上正轨。
HI月, 谢谢您的回复!我确实设定了一个断点,并且每次都正确评估booFeedback。代码尽可能运行,但窗体仍然显示不正确。此外,我知道Shift旁路等,但在这一点上,我们不太关心安全性。截至目前,它正在分发给一个小组。它也将以ACCDE形式分发。希望将这个项目从Access中解放出来,然后最终迁移到一个Web应用程序(至今我还没有什么知识)。对于现在的打法是让应用程序相当简单 – Chuck0185
我做了你的建议的编辑,绝对缩短了代码,但还是同样的问题。当我打的用户按钮,它的块中的字段,但后来当我回去打管理员按钮等领域仍形式加载时受阻。然后,如果我进入设计模式,然后保存并关闭,然后点击管理按钮,字段不再被阻止。然后我关闭窗体返回并点击用户按钮,这些字段仍然没有被阻止。看起来它与设计模式有关? – Chuck0185
我在拆分和数据表视图中做了一些表单实验。该代码与数据表形式很好地工作,但拆分形式将不合作。我认为分裂形式的本质是不可能的,其他讨论的研究支持这一结论。这里是一个https://access-programmers.co.uk/forums/showthread.php?t=200972 – June7