2011-03-03 29 views
0

我在设计Access 2003中的窗体。我的目标是,当用户双击记录(又名Detail)时,将打开第二个窗体。当我从头开始时,这很容易做到。访问窗体的细节事件只触发第一条记录

但当然,我不是从头开始。我一直在为此工作几个小时,添加了一些有条件格式的文本框,字段等,如果我能避免它,不想重新开始。

我不知道是否打开/关闭了一些不太明显的属性,但我现在已经在这个表单上工作了几个小时,并且只有在双击时才会触发Details部分的双击事件在第一条记录或任何其他条件格式。

要解决这个问题,我已经走得更远,它们甚至注释掉所有其他VBA脚本,除了这一点:

Private Sub Form_Load() 
    Me.Application.DoCmd.Maximize 
End Sub 

Sub GotoFrmDetails() 
    MsgBox "You Double Clicked Me!" 
End Sub 

即使使用VBA脚本减少到这些线路,DoubleClick事件才会触发上第一个记录,没有其他。谁能告诉我什么是错的?我宁愿不必从头开始重建。

回答

0

我发现窗体部分的点击事件比他们的价值更麻烦(点击事件没有通过窗体,如果用户点击控件或标签等)。我使用的是透明命令按钮

只需将一个命令按钮添加到您的窗体并将其Transparent属性设置为True即可。然后,您可以使用Z顺序进行细粒度更改(发送前/后,发送/退回)。

一旦你让它们变得透明,就很难找到它们,所以一定要给它们描述性的名字。

如果您希望用户能够在细节部分的任意位置双击,只需使透明命令按钮的高度/宽度与部分高度/宽度相匹配即可。

将您的代码从“明细”部分的DoubleClick事件移至透明命令按钮的DoubleClick事件,您应该很好。

+2

我讨厌那个。这是一个痛苦,但稍后修复和修改,我认为完全没有必要。我从来没有在记录/文本框中出现过双击事件时遇到过问题作为经常需要修复其他人的工作的人,当我看到完成时,它会让我气愤。 – BIBD 2011-03-03 20:53:46

+0

它并没有真正解决这个问题,但它确实使问题没有实际意义,这同样好。 – PowerUser 2011-03-03 20:55:26

+0

@CodeSlave:你如何处理禁用控件上的点击事件? – mwolfe02 2011-03-03 21:03:48

0

我想知道在条件格式设置过程中,行是否将Locked属性设置为是,或者将其Enabled属性设置为否。

+0

我有2个条件格式的文本框。它们被自动设置为锁定=是和启用=否,占据我为每条记录保留的空间的1/3左右。但是,双击missfire发生在我点击的任何地方。这可能与问题有关,但我不知道如何。 – PowerUser 2011-03-03 20:54:37

相关问题