以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问大师:关闭窗口删除当前工作表空白行代码如何写呀  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97112)

--  作者:544199409
--  发布时间:2017/3/6 14:08:00
--  请问大师:关闭窗口删除当前工作表空白行代码如何写呀
请问大师:关闭窗口删除当前工作表空白行代码如何写呀?
--  作者:xietan417
--  发布时间:2017/3/6 14:17:00
--  
DataTables("表名称").DeleteFor("列名 Is Null")
--  作者:544199409
--  发布时间: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
--  发布时间:2017/3/6 14:57:00
--  

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

撤销按钮的代码是:

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

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

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


--  作者:xietan417
--  发布时间: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

--  作者:有点色
--  发布时间: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
--  发布时间:2017/3/6 15:16:00
--  

老大:

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

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

--  作者:544199409
--  发布时间:2017/3/6 15:23:00
--  

老大:

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


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

--  作者:544199409
--  发布时间:2017/3/6 15:36:00
--  
自然“不能为空”是个循环,就不能做成保存就删除,最好做成点击关闭窗口删除“不能为空”的行。
--  作者:544199409
--  发布时间:2017/3/6 15:43:00
--  

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

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