以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于项目属性的处理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87710)

--  作者:意悠心轻
--  发布时间:2016/7/18 8:27:00
--  关于项目属性的处理

密码:111222333

  我想在个人明细窗口里做一个当打开个人明细窗口,如果按按钮,所选时间内筛选数据为空,那么自动添加50行;在个人明细窗口中如果最后一行不为空,则自动添加一行,当关闭个人明细窗口,自动删除所有空行。

[此贴子已经被作者于2016/7/19 14:23:30编辑过]

--  作者:Hyphen
--  发布时间:2016/7/18 10:24:00
--  
增加行

Tables("冲压车间工资表").AutoAddNew = True
If Tables("冲压车间工资表").Rows.Count = 0 Then
    Tables("冲压车间工资表").AddNew(50)
Else
    Tables("冲压车间工资表").AddNew()
End If

关闭删除,BeforeClose事件
DataTables("冲压车间工资表").DeleteFor("姓名 is null")

表没有编号,所以只能用姓名做条件删除空行

--  作者:意悠心轻
--  发布时间:2016/7/18 12:00:00
--  
还有在个人明细窗口中如果最后一行不为空,则自动添加一行效果没实现。
--  作者:意悠心轻
--  发布时间:2016/7/18 12:05:00
--  
哦,已自动添加了一行了。
--  作者:Hyphen
--  发布时间:2016/7/18 12:08:00
--  一种窗口传值和共用查询窗口的简单应用
看2楼

如果想在窗口启动就增加afterload事件
With Tables("冲压车间工资表")
    If .Rows.Count > 0 Then
        If .Rows(.Rows.Count - 1).IsNull("姓名") = False Then
            .AddNew()
        End If
    End If
End With

--  作者:意悠心轻
--  发布时间:2016/7/18 15:29:00
--  
个人明细窗口没了筛选条件了!
[此贴子已经被作者于2016/7/19 14:24:21编辑过]

--  作者:Hyphen
--  发布时间:2016/7/18 16:32:00
--  
测试没有问题
--  作者:意悠心轻
--  发布时间:2016/7/18 17:58:00
--  
  我要求没选时间,没按按钮,不加载数据,原是不加载的,添加了你的程式后自动加载数据进来了。
图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看

--  作者:意悠心轻
--  发布时间:2016/7/18 18:17:00
--  
以下是引用Hyphen在2016/7/18 12:08:00的发言:
看2楼

如果想在窗口启动就增加afterload事件
With Tables("冲压车间工资表")
    If .Rows.Count > 0 Then
        If .Rows(.Rows.Count - 1).IsNull("姓名") = False Then
            .AddNew()
        End If
    End If
End With
  还有能否识别整行中任何一个单位格不为空,则不能删除,只有整行全为空才删除?如果实在不行那就设如果日期或姓名为空,则删除行,你这自动添加行的条件最好设为当最后一行日期或姓名不为空,则自动添加一行。
[此贴子已经被作者于2016/7/18 20:14:31编辑过]

--  作者:意悠心轻
--  发布时间:2016/7/18 20:16:00
--  

原自动添加行设在冲压车间工资表的表属性里:

If e.Col.name = "日期" OrElse e.Col.name = "姓名" Then
    If e.Row.Index = e.Table.Rows.Count-1 Then
        If e.Row.IsNull(e.Col.name) = False Then
            e.Table.DataTable.AddNew
        End If
    End If
End If