Office中国论坛/Access中国论坛

标题: 如何去掉NOLIST事件后出现的提示框 [打印本页]

作者: kunlun    时间: 2005-9-10 00:50
标题: 如何去掉NOLIST事件后出现的提示框
在使用组合框的时候,设定为限定在列表框中,然后当我不用选择而用输入时,会有一个提示框提示“你输入的不在列表框中,请从列框中选择一个项目”字样,我用了NOLIST事件做,只是能出现NOLIST事件,但是原来的提示框依然会出现,我想让那个烦人的框不出现,请问有没有办法?

[此贴子已经被作者于2005-9-9 16:51:39编辑过]


作者: kunlun    时间: 2005-9-10 00:51
不知我是否表达清楚,没看明白的跟贴吧

[此贴子已经被作者于2005-9-9 16:52:19编辑过]


作者: wuaza    时间: 2005-9-10 00:54
在nolist事件中写入DoCmd.SetWarnings False
作者: kunlun    时间: 2005-9-10 01:51
DoCmd.SetWarnings False我试了,,不好使。。那个家伙照样出来。。
作者: sgrshh29    时间: 2005-9-10 03:47
试试用常数Response = acDataErrContinue,例如

    If MsgBox("没有此项目,是否添加?", vbYesNo, "添加") = vbYes Then

        Response = acDataErrAdded

        Me.Combo0.AddItem (NewData)

    Else

        Me.Combo0 = ""

        Response = acDataErrContinue

    End If

[此贴子已经被作者于2005-9-9 19:49:00编辑过]


作者: kunlun    时间: 2005-9-10 18:13
以下是引用sgrshh29在2005-9-9 19:47:00的发言:



试试用常数Response = acDataErrContinue,例如

    If MsgBox("没有此项目,是否添加?", vbYesNo, "添加") = vbYes Then

        Response = acDataErrAdded

        Me.Combo0.AddItem (NewData)

    Else

        Me.Combo0 = ""

        Response = acDataErrContinue

    End If



GOOD,,可是我现在用的是组合框连到表中的,是不是应该把 Me.Combo0.AddItem (NewData)

改成 DoCmd.RunSQL (SQL),我现在不知道这个sql如何写,请高人再指导一下吧。谢谢了
作者: sgrshh29    时间: 2005-9-10 20:26
如果行来源是数据表,可用strsql = "Insert Into acTabelName (acColumnName) Values  & "(" & """" & NewData  & """" & ")"  这样仅仅添加一个字段,如果要对多字段的表添加,最好在此事件中打开这个表(或窗体)添加。同时再加二句对组合框源更新等语句。
作者: kunlun    时间: 2005-9-10 21:12
我用如下代码

If MsgBox("没有此项目,是否添加?", vbYesNo, "添加") = vbYes Then

        

        DoCmd.OpenForm "表1"

       Response = acDataErrAdded

    Else

        Me.Combo0 = ""

        Response = acDataErrContinue

    End IfEnd Sub可是acc在打开表1后就会把那个“你输入的文字不在列表中。。。。”的提示框弹出来呀
作者: sgrshh29    时间: 2005-9-10 23:02
顺序是这样的,在用sql  insert后,组合框requery,再用刚才新添加的string作为过滤,打开指定表。不然你还没有添加到组合框源里,它就要跳出那个框框来。
作者: kunlun    时间: 2005-9-10 23:15
我想用你的第二种方法做,打天一个新的添加窗体,然后关闭添加窗体后返回到选择组合框这,这时再用refresh刷新。可是当我打天添加窗体时,就会有那个提示框
作者: sgrshh29    时间: 2005-9-10 23:17
说了半天,我自己从没有做过,我做一个试试。[attach]13020[/attach]



[此贴子已经被作者于2005-9-10 16:14:03编辑过]


作者: sgrshh29    时间: 2005-9-11 00:15
你看看,能不能用?文件在楼上。
作者: kunlun    时间: 2005-9-11 00:24
能用。。能用能用。关键在于openform后面的参数
作者: wuaza    时间: 2005-9-11 00:35
因为Response = acDataErrAdded已经具备了组合框更新功能,所以 Me.Combo0.Requery这句可以省略了。
作者: sgrshh29    时间: 2005-9-11 00:39
以下是引用wuaza在2005-9-10 16:35:00的发言:

因为Response = acDataErrAdded已经具备了组合框更新功能,所以 Me.Combo0.Requery这句可以省略了。



说的非常对。我忘记了这个。
作者: kunlun    时间: 2005-9-11 00:47
谢谢。。我要是早看点去看nolist事件就好了。就不用麻烦这么多人了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3