Foxtable(狐表)用户栏目专家坐堂 → 关于BeforeCloseProject的求助。(已解决)


  共有9993人关注过本帖树形打印复制链接

主题:关于BeforeCloseProject的求助。(已解决)

帅哥哟,离线,有人找我吗?
pc005637
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
关于BeforeCloseProject的求助。(已解决)  发帖心情 Post By:2012/5/26 10:33:00 [只看该作者]

项目各用户密码都是:888

 

项目要求:关闭项目前校验,当有记录"姓名"为空,而且"接诊医生"为当前用户,而且"国籍"不为"城堡"时。提示,并筛选出相应记录。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关闭项目.table

[此贴子已经被作者于2012-5-28 21:46:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2012/5/26 16:47:00 [只看该作者]

加一个条件你应该没问题的吧:

 

If DataTables("表A").Find("[姓名] Is Null And [国籍] <> '城堡' And [接诊医生] = '" & _
    User.Name & "'") IsNot Nothing Then
    Dim Result As DialogResult
    Result = Messagebox.Show("你在""表A""表中存在没有输入姓名的记录," & _
    "请删除后再关闭项目!","提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
    If Result = DialogResult.OK Then
        e.Cancel = True '取消关闭项目
        Tables("表A").Filter = "[姓名] Is Null And [国籍] <> '城堡'  And [接诊医生] = '" & User.Name & "'"
        MainTable = Tables("表A")
        Return
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
pc005637
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
上面的代码是完全没反应,直接关闭项目了.  发帖心情 Post By:2012/5/26 22:47:00 [只看该作者]

我原先也是按你说的方法来做的,就是因为不成功,才发贴求助的.

 

And [国籍] <> '城堡' 这段代码 不知道到是不是不能在 FIND 中起到作用?

[此贴子已经被作者于2012-5-26 22:48:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
pc005637
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
回复:(pc005637)关于BeforeCloseProject的求助。(未...  发帖心情 Post By:2012/5/27 8:54:00 [只看该作者]

继续顶上去。

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/27 9:34:00 [只看该作者]

If DataTables("表A").Find("[姓名] Is Null And [接诊医生] = '" & User.Name & "'") IsNot Nothing Then
    Dim Result As DialogResult
    Result = Messagebox.Show("你在""表A""表中存在没有输入姓名的记录,请删除后再关闭项目!","提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
    If Result = DialogResult.OK Then
        e.Cancel = True '取消关闭项目
        Tables("表A").Filter = "[姓名] Is Null And [接诊医生] = '" & User.Name & "'"
        MainTable = Tables("表A")
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1135 积分:11099 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/5/27 9:36:00 [只看该作者]

If DataTables("表A").Find("[姓名] Is Null And [接诊医生] = '" & User.Name & "' and [国籍]<>'城堡'") IsNot Nothing Then
    Messagebox.Show("你在""表A""表中存在没有输入姓名的记录,请删除后再关闭项目!","提示")
    e.Cancel = True '取消关闭项目
    Tables("表A").Filter = "[姓名] Is Null And [接诊医生] = '" & User.Name & "'and [国籍]<>'城堡'"
    MainTable = Tables("表A")
    Return
End If

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/27 9:36:00 [只看该作者]

为何不直接删除?这样的话一行代码就可以搞定:

 

DataTables("表A").DeleteFor("[姓名] Is Null And [接诊医生] = '" & User.Name & "'")


 回到顶部
帅哥哟,离线,有人找我吗?
pc005637
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
回复:(程兴刚)为何不直接删除?这样的话一行代码就...  发帖心情 Post By:2012/5/27 10:07:00 [只看该作者]

因为项目是运行在互联网上,环境例子:

分公司如果需要添加记录,必须总公司才能生成,不过记录会以国籍区别不同的公司。生成记录后,分公司会同步后,填写各项内容。但是填写不一定及时。

 

比如只有"城堡"公司才有这种添加记录的权限,其它公司就没有。

 

所以必须做出一定的校验。要不然"城堡"公司还没输入内容的话,你就关不了软件了。


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/27 10:44:00 [只看该作者]

最好用自定义登录,就不会出现这些问题!


 回到顶部
帅哥哟,离线,有人找我吗?
pc005637
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
回复:(程兴刚)最好用自定义登录,就不会出现这些问...  发帖心情 Post By:2012/5/27 16:56:00 [只看该作者]

因为要限制子单位不能生成新记录,所以只能在总部生成记录了,下面子单位只能修改完善记录。

 

现在的主要问题是

 

DataTables("XX").Find() 的问题。里面的条件不能使用<>.的问题。想求个解决方法。曲线的也行。


 回到顶部
总数 13 1 2 下一页