Access交流中心

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

新记录空字段检查语句请教

小陈  发表于:2013-03-14 15:18:37  
复制

新手请教:

在录入窗体,点击“添加新记录”,录入了姓名、性别后如果再次点击“添加新记录”,如何用VBA检查刚才录入的记录没有录入“参加工作日期"、”入单位日期“等数据?点击下载此附件

 

Top
落尘_小新 发表于:2013-03-14 15:50:21
If IsNull([参加工作日期]) Then
        MsgBox "请输入参加工作日期"
        Exit Sub
    End If
    If IsNull([入单位日期]) Then
        MsgBox "请输入入单位日期"
        Exit Sub
    End If

    DoCmd.GoToRecord , , acNewRec

点击下载此附件




小陈 发表于:2013-03-14 16:19:09
谢谢指教,加 Exit Sub解决我的问题!但我对Exit Sub作用的理解不明,因不能从直观看出效果,例如,对打开、关闭窗体的过程我们很容量理解,因能直观地看到窗体的打开与关闭。请问,如何理解Exit Sub即为什么加此语句就能达到目的?


小陈 发表于:2013-03-14 16:34:17
另外,打开窗体,为什么点击“添加新记录“后If IsNull([参加工作日期]) Then等语句不运行的?只有再次点击“添加新记录”,如果有空值,If IsNull([参加工作日期]) Then
        等语句才运行的?盼再次指教,感谢!

殷小宝 发表于:2013-03-14 16:45:58
为什么点击“添加新记录“后If IsNull([参加工作日期]) Then等语句不运行的?只要点击“添加新记录”按钮,就会运行其单击事件中的代码。不存在首次不运行,再次运行的问题。

落尘_小新 发表于:2013-03-14 17:10:07

If IsNull([参加工作日期]) Then      '这句是用来判断当前记录中【参加工作日期】字段是否为空,如果为空,则运行下面的语句。

        MsgBox "请输入参加工作日期" '这句不用说了,提示消息。
        Exit Sub                    '这句作用是退出过程。(即此过程到此结束,不达运行)。
End If
If IsNull([入单位日期]) Then
        MsgBox "请输入入单位日期"
        Exit Sub
End If
DoCmd.GoToRecord , , acNewRec

落尘_小新 发表于:2013-03-14 17:15:01
另外,打开窗体,为什么点击“添加新记录“后If IsNull([参加工作日期]) Then等语句不运行的?只有再次点击“添加新记录”,如果有空值,If IsNull([参加工作日期]) Then

        等语句才运行的?盼再次指教,感谢!

这个问题是因为,你打开窗体后,首先显示的是你的第一条记录,而那条记录中我们需要判断的字段有数据,所以,就跳过真接运行下一条语句。

不管你是第一次点击按钮,还是第N次点击按钮。只要窗体中当前显示的记录中我们需要判断的字段有数据,就跳过真接运行下一条语句。



小陈 发表于:2013-03-14 22:10:22

很感谢小新准版主的热心指教!基本明白了,再请教两个问题:

1、为何我点击了“添加新记录”后进入的窗体(上图)所显示的编号文本框还是空白的?按我理解,已经是新记录的呀。

2、你修改代码为何不用if........then ........else.......end  if句式而是用if......then.......exit  sub....end if句式的?两种句式在应用上有什么区别?

盼指教!



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