Ms access Access中的VBA脚本不工作
我有一个简单的MS Access数据库(2010版),只有4个字段: 数据库名称:Test test1=文本 测试2=是/否(勾选框) test3=文本 test4=文本 然后,我创建了一个名为Form_Test的公式,并为勾选框指定了代码:Ms access Access中的VBA脚本不工作,ms-access,vba,Ms Access,Vba,我有一个简单的MS Access数据库(2010版),只有4个字段: 数据库名称:Test test1=文本 测试2=是/否(勾选框) test3=文本 test4=文本 然后,我创建了一个名为Form_Test的公式,并为勾选框指定了代码: Option Compare Database Option Explicit Private Declare Function apiGetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByV
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
选项比较数据库
选项显式
私有声明函数apiGetUserName库“advapi32.dll”_
别名“GetUserNameA”(ByVal lpBuffer作为字符串_
(尽可能长)尽可能长
函数BenutzerName()作为字符串
幽幽幽幽
变暗lngX为长
作为字符串的暗淡strBenutzerName
strBenutzerName=String$(254,0)
lngLen=255
lngX=apiGetUserName(strBenutzerName,lngLen)
如果lngX为0,则
BenutzerName=左$(strBenutzerName,lngLen)
其他的
BenutzerName=“”
如果结束
端函数
专用子测试2_单击()
如果test2.Value=True,则
test3=BenutzerName()
其他的
test3=“”
如果结束
端接头
我想在用户单击任何行中的勾选框后,使用此代码将用户名添加到字段test3。但是,脚本不起作用,我不明白为什么。有人能帮忙吗?确保您的代码在正确的位置 在表单的设计模式中
右键单击复选框
并选择属性
->事件选项卡
->单击
->代码生成器
将打开代码编辑器
这就是您的on代码必须驻留的地方
编辑:
此外,要在代码中设置断点(F9)以查看代码是否被触发,该链接还包含有关调试的信息。尝试在代码中设置断点,并查看错误发生在代码的哪一行。这可能有助于找出问题的原因。当你说“不起作用”时,也无助于其他人解决你的问题,除非错误显而易见。它没有做什么?如果您的问题是“我没有看到任何事情发生”,请从行
上的断点开始,如果test2.Value=True,则以确保您的单击事件正在触发。然后检查test2.value的值,以验证它是否符合预期。