Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 在连续窗体上设置文本框属性_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access 在连续窗体上设置文本框属性

Ms access 在连续窗体上设置文本框属性,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我正在开发一个Access 2010表单,用户可以通过组合框在表单标题中选择一条记录,然后在表单的详细信息部分构建与所选记录相关的元素。表单的默认视图设置为连续表单 表单详细信息部分中的一个控件是combobox控件。我要做的是根据combobox中的选择将表单同一行上的textbox的enabled属性设置为false。我正在运行的代码是: If Me.cboElementType = "Contract Shrink" Then Me.txtElementID = "" Me.txt

我正在开发一个Access 2010表单,用户可以通过组合框在表单标题中选择一条记录,然后在表单的详细信息部分构建与所选记录相关的元素。表单的默认视图设置为连续表单

表单详细信息部分中的一个控件是combobox控件。我要做的是根据combobox中的选择将表单同一行上的textbox的enabled属性设置为false。我正在运行的代码是:

If Me.cboElementType = "Contract Shrink" Then
  Me.txtElementID = ""
  Me.txtElementID.Enabled = False
EndIf
这是可行的,但它会将textbox(txtElementID)的所有实例设置为enabled=false。我想让txtElementID根据combobox cboElementType的选择为detail部分中的每一行启用不同的设置。因此,如果滚动详细信息部分的第1行上有cboElementType=“Contract Shrink”,则该行的txtElementID.Enabled将设置为false。如果在滚动详细信息部分的第2行上有cboElementType=“Cost Group”,则我希望详细信息部分的第1行上的txtElementID.Enabled为False,第2行上的txtElementID.Enabled为True


有人能证实或否认这是可以做到的吗?如果可以做到,你会建议如何做到?无论采用哪种方式,都要感谢您的帮助。

您不能像以前那样通过VBA进行操作,您需要使用条件格式,您可以选择设置
已启用的属性

尝试使用如下形式的\u Current()事件

Private Sub Form_Current()
If Me.cboElementType = "Contract Shrink" Then
  Me.txtElementID = ""
  Me.txtElementID.Enabled = False
EndIf
end sub

几天来,我一直在寻找如何以连续形式访问个人记录,我愿意说这是不可能的,但我有一个技巧,我想在这里分享一下。我有一个投资数据库,用户进入并写一个提案,然后有一个会议,项目要么被批准(给钱),要么被取消。然而,一个项目可能处于更多的状态,如提案、执行等,但在此阶段只能发生批准/取消。我在项目表中创建了一个MockBool字段。我把它放在连续窗体上,当窗体关闭时,我运行以下命令:

rs_frm=me.recordset
rs_frm.movefirst
while not(rs_frm.eof)
  if rs_frm("MockBool") then
    rs_frm.edit
    rs_frm("ProcessStatus")="Cancelled"
    rs_frm("MockBool")=false
    rs_frm.update
  end if
  rs_frm.movenext
wend
我花了好几天的时间寻找,并且有了顿悟,所以我想我会和大家分享