2011-03-03 47 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

相關問題