Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求教if 条件句转换为 Case

久石让的粉丝  发表于:2013-07-15 23:00:53  
复制

text1、text、text3、text4、text5是窗体上的控件名称

private sub CmdSave()

if isnull(me.text1) then

msgbox"必须填写text1"

me.text1.setfocus

exit sub

end if


if isnull(me.text2) then

msgbox"必须填写text2"

me.text2.setfocus

exit sub

end if

if isnull(me.text3) then

msgbox"必须填写text3"

me.text3.setfocus

exit sub

end if

if isnull(me.text4) then

msgbox"必须填写text4"

me.text4.setfocus

exit sub

end if

if isnull(me.text5) then

msgbox"必须填写text5"

me.text5.setfocus

exit sub

end if

docmd.save

end sub

求教高手将if语句编程Case语句

 

Top
cspa 发表于:2013-07-16 09:51:10

这种情况属于典型的多变量应用同一标准过程,建议你用函数的方法解决(自定义一个处理该过程的函数,然后遇到此情况都调用此函数处理)可能更好。

 

给你个例子,供你参考,但未经实际验证。

 

首先在你的必填字段afterupdate事件中写入如下代码:

subtxtIsNull me.Name

 

然后,建一新的模块,在模块中把下列代码考入:

sub subtxtIsNull(objtxtName as object)

if isnull(objtxtName.value) then

msgbox"必须填写" & objtxtName.name

objtxtName.setfocus

end if

end sub

运行试试?



煮江品茶 发表于:2013-07-16 10:08:12
cspa 发表于:2013-07-16 10:22:11
老师出手就是高!

久石让的粉丝 发表于:2013-07-16 18:24:39

以上做法还是有些不足

cspa的做法考虑将所有控件设置成必填,但实际有些控件可以不用填


煮江品茶的做法不会有Msgbox提示,在创建新记录时只要控件不获得焦点,依然无法保证必填控件空值时提示并中断保存


麻烦各位老师再帮我改一下



cspa 发表于:2013-07-16 20:52:10

我可不是说"将所有控件设置成必填",我说的是:

首先在你的必填字段afterupdate事件中写入如下代码



cspa 发表于:2013-07-16 20:52:11

我可不是说"将所有控件设置成必填",我说的是:

首先在你的必填字段afterupdate事件中写入如下代码



久石让的粉丝 发表于:2013-07-16 21:11:55

再请教一下cspa

能不能把objtxtName.value定义的控件名称变成控件标题

另外就是如果控件没有被激活直接点保存按钮,就无法做到,必填项如果没有填msgbox提示并终止保存操作

AfterUPdate只是指经过修改以后如果是空值MsgBox提示,原来控件就是空的,特别是新建一条记录,忘记填写必填的控件,并且没有经过修改那这个模块就不起作用了


麻烦cspa再指导下



cspa 发表于:2013-07-16 21:40:35

你这个说的是有道理的,如果你有一个保存按钮的话,就在这里调用subtxtIsNull函数,方法是在保存语句前加入

subtxtIsNull me.Name语句

这里Name改为你的必填字段名称。笨办法是有几个必填字段调用几次,好一点的是做一个循环也行。主要思路是在保存之前把所有必填字段都判断一遍是否为空,有则提示并退出,没有则保存。



总记录:8篇  页次:1/1 9 1 :