2014-07-07 21 views
0

我有一個簡單的MS Access數據庫(2010年版):只有4場VBA腳本訪問不工作

DB的名稱:測試

測試1 =文本

測試2 = YES/NO (打勾框)

TEST3 =文本

TEST4 =文本

然後,我創建了一個名爲Form_Test和分配代碼的複選框一個公式推:

Option Compare Database 

Option Explicit 

Private Declare Function apiGetUserName Lib "advapi32.dll" _ 
Alias "GetUserNameA" (ByVal lpBuffer As String, _ 
nSize As Long) As Long 


Function BenutzerName() As String 

Dim lngLen As Long 
Dim lngX As Long 
Dim strBenutzerName As String 

    strBenutzerName = String$(254, 0) 
    lngLen = 255 
    lngX = apiGetUserName(strBenutzerName, lngLen) 
    If lngX <> 0 Then 
     BenutzerName = Left$(strBenutzerName, lngLen) 
    Else 
     BenutzerName = "" 
    End If 

End Function 



Private Sub test2_Click() 
If test2.Value = True Then 
    test3 = BenutzerName() 
Else 
    test3 = "" 

End If 
End Sub 

我想使用此代碼的用戶名添加到字段TEST3一旦用戶點擊任何行的複選框。但是,腳本不起作用,我不明白爲什麼。任何人都可以幫忙嗎?

+1

嘗試在代碼中放置斷點並查看發生錯誤的代碼行。這可能有助於隔離問題的原因。 – hnk

+0

當你說**「不工作」**時,它不會幫助任何人解決你的問題,除非錯誤是明顯的。 *它沒有做什麼? –

+0

如果您的問題是「我沒有看到任何事情發生」,請從'If test2.Value = True Then'行開始,以確保您的點擊事件觸發。然後檢查test2.Value的值以驗證它是你期望的。 –

回答

1

確保你的代碼是在正確的地方,

在形式

Right click the Check box的設計模式,然後選擇Properties - >Event Tab - >On Click - >Code Builder 將打開代碼編輯器

這就是你的代碼必須存在的地方

編輯:

此外,Follow this link設置斷點(F9)在你的代碼,看看你的代碼被觸發,該鏈接還包含有關調試信息。