Office中国论坛/Access中国论坛

标题: 当下面记录有空值时则不执行,代码怎样写 [打印本页]

作者: gzkrmch    时间: 2016-9-26 14:28
标题: 当下面记录有空值时则不执行,代码怎样写
本帖最后由 gzkrmch 于 2016-9-27 10:26 编辑

[attach]60007[/attach]
请教各位老师,此窗体里数据,如果有一条记录,领料人为空时,则不执行领料,点出库时将提示,我用  If ISNull(领料人)Then 这个代码,第一条为空时可以检索到,第二条为空时就不能检索了,这个代码应该怎样写呢

作者: Henry D. Sy    时间: 2016-9-26 16:01
数据表视图只有选择的才是当前记录
作者: gzkrmch    时间: 2016-9-26 16:43
哦,那用什么方法解决呢
作者: Henry D. Sy    时间: 2016-9-26 20:29
gzkrmch 发表于 2016-9-26 16:43
哦,那用什么方法解决呢

首先你没有例子,其次不是很明白的意图和目的
作者: gzkrmch    时间: 2016-9-27 10:27
上传了一个例子,麻烦帮忙看一下
作者: Henry D. Sy    时间: 2016-9-27 14:57
gzkrmch 发表于 2016-9-27 10:27
上传了一个例子,麻烦帮忙看一下

你什么意思?
是不是一次性按出库,只要领料人不为空就出库对吗?
怎么样处理算是出库?
作者: Henry D. Sy    时间: 2016-9-27 15:26
是不是这意思!
  1. Private Sub Command48_Click()

  2. 'If IsNull(领料人) Then
  3. '
  4. ' MsgBox ("领料人未填写,不能出库")
  5. '
  6. 'Else
  7.     If MsgBox("是否要执行出库?执行完将不能更改!", vbYesNo) = vbNo Then Exit Sub

  8.     Dim sSQL As String
  9.     sSQL = "UPDATE SPQK SET 锁定=TRUE WHERE NOT 领料人 IS NULL"
  10.     CurrentDb.Execute sSQL
  11.     Me.Recalc
  12. End Sub
复制代码

作者: gzkrmch    时间: 2016-9-27 16:22
我只是想要弹出提示,如果没有填写领料人就终止出库
作者: Henry D. Sy    时间: 2016-9-27 21:24
gzkrmch 发表于 2016-9-27 16:22
我只是想要弹出提示,如果没有填写领料人就终止出库

如果有填写领料人怎么处理
作者: Henry D. Sy    时间: 2016-9-27 21:38
gzkrmch 发表于 2016-9-27 16:22
我只是想要弹出提示,如果没有填写领料人就终止出库
  1. Private Sub Command48_Click()
  2.     Dim rs As DAO.Recordset
  3.     Set rs = Me.RecordsetClone
  4.     rs.MoveFirst
  5.     Do While Not rs.EOF
  6.         If IsNull(rs.Fields("领料人")) Then
  7.             MsgBox "第 " & rs!商品出库ID & " 号商品出库ID,没有领料人!"
  8.         End If
  9.         rs.MoveNext
  10.     Loop
  11.     rs.Close
  12.     Set rs = Nothing
  13. End Sub
复制代码

作者: gzkrmch    时间: 2016-9-28 09:08
Henry D. Sy 发表于 2016-9-27 21:38

感谢Henry D. Sy老师,你真棒,正是我想要的




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