Foxtable(狐表)用户栏目专家坐堂 → 请问大师:关闭窗口删除当前工作表空白行代码如何写呀


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

主题:请问大师:关闭窗口删除当前工作表空白行代码如何写呀

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


加好友 发短信
等级:婴狐 帖子:17 积分:200 威望:0 精华:0 注册:2016/3/17 11:54:00
请问大师:关闭窗口删除当前工作表空白行代码如何写呀  发帖心情 Post By:2017/3/6 14:08:00 [只看该作者]

请问大师:关闭窗口删除当前工作表空白行代码如何写呀?

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


加好友 发短信
等级:三尾狐 帖子:721 积分:6391 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2017/3/6 14:17:00 [只看该作者]

DataTables("表名称").DeleteFor("列名 Is Null")

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


加好友 发短信
等级:婴狐 帖子:17 积分:200 威望:0 精华:0 注册:2016/3/17 11:54:00
  发帖心情 Post By:2017/3/6 14:24:00 [只看该作者]

谢谢老大!如果我要把这个代码写到保存按钮中怎么写呀?

If Tables("部门档案").FindRow("身份证号码 is null") >= 0 OrElse Tables("部门档案").FindRow("办公地址 is null") >= 0  Then '(针对所有行)
    Msgbox("身份证号码及办公地址不能为空")
    e.Form.Controls("Button5").Enabled = True
    Return
End If
e.Form.Controls("Button5").Enabled = True

DataTables("部门档案").DeleteFor("身份证号码 Is null And 办公地址 Is null")
DataTables("部门档案").Save()
Forms("部门档案录入").Close


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


加好友 发短信
等级:婴狐 帖子:17 积分:200 威望:0 精华:0 注册:2016/3/17 11:54:00
  发帖心情 Post By:2017/3/6 14:57:00 [只看该作者]

我是这样解决的:1、把删除行的代码加到表事件;2、增加了一个撤销按钮;

撤销按钮的代码是:

With Tables("部门档案")
    If .Current IsNot Nothing Then
        .Current.Reject()
    End If
End With

运行结果是,新添加了一行未输入身份证号码及办公地址,保存不了,这里要求必须输入该两列的内容才能保存,如果点击关闭窗口,然后保存文件是“身份证号码及办公地址”为空的就删除。

这样从逻辑上就更加完善了。


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


加好友 发短信
等级:三尾狐 帖子:721 积分:6391 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2017/3/6 15:00:00 [只看该作者]

DataTables("部门档案").DeleteFor("身份证号码 Is null And 办公地址 Is null")
Dim nms() As String = {"身份证号码","办公地址"}
Dim ep As String
For Each nm As String In nms
    If Tables("部门档案").current.isnull(nm) Then
         ep= nm
         Exit For
    End If
Next
If ep > "" Then
    messagebox.show(ep & "不能为空")
Return
End If

DataTables("部门档案").Save()
Forms("部门档案录入").Close

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/6 15:12:00 [只看该作者]

Dim nms() As String = {"身份证号码","办公地址"}
Dim ep As String = ""
For Each nm As String In nms
    If Tables("部门档案").current.isnull(nm) Then
        ep= nm
        Exit For
    End If
Next
If ep > "" Then
    messagebox.show(ep & "不能为空")
    Return
End If

DataTables("部门档案").DeleteFor("身份证号码 Is null And 办公地址 Is null")
DataTables("部门档案").Save()
Forms("部门档案录入").Close


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


加好友 发短信
等级:婴狐 帖子:17 积分:200 威望:0 精华:0 注册:2016/3/17 11:54:00
  发帖心情 Post By:2017/3/6 15:16:00 [只看该作者]

老大:

DataTables("部门档案").DeleteFor("身份证号码 Is null And 办公地址 Is null")

实现了没有这两列的数据直接删除的功能,但是失去了提醒的功能,再有一个提醒的功能就好了。
比如说有人输入数据输入了多半,可是忘记了输入身份证号码或办公地址点保存就全部删除了,又要重新输入。

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


加好友 发短信
等级:婴狐 帖子:17 积分:200 威望:0 精华:0 注册:2016/3/17 11:54:00
  发帖心情 Post By:2017/3/6 15:23:00 [只看该作者]

老大:

如何实现关闭窗口直接删除空白行就好了


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170306152543.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:17 积分:200 威望:0 精华:0 注册:2016/3/17 11:54:00
  发帖心情 Post By:2017/3/6 15:36:00 [只看该作者]

自然“不能为空”是个循环,就不能做成保存就删除,最好做成点击关闭窗口删除“不能为空”的行。

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


加好友 发短信
等级:婴狐 帖子:17 积分:200 威望:0 精华:0 注册:2016/3/17 11:54:00
  发帖心情 Post By:2017/3/6 15:43:00 [只看该作者]

在窗口事件“AfterClose”中写入:

DataTables("部门档案").DeleteFor("身份证号码 Is null And 办公地址 Is null")
就实现了,谢谢老大。


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