以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  筛选  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=74309)

--  作者:fanjq8686
--  发布时间:2015/9/8 11:06:00
--  筛选

请教老师:

我用一个日期列是否为空进行筛选,在空的单元格中填入日期并保存当前行,当最后一行填完后会报错,请问应如何避免?


--  作者:大红袍
--  发布时间:2015/9/8 11:08:00
--  

报什么错?在哪个事件写了什么代码?

 

http://www.foxtable.com/help/topics/1485.htm

 


--  作者:fanjq8686
--  发布时间:2015/9/8 11:11:00
--  
.NET Framework 版本:2.0.50727.8009
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,业务管理窗口,受理确认16,Click
详细错误信息:
未将对象引用设置到对象的实例。

--  作者:fanjq8686
--  发布时间:2015/9/8 11:15:00
--  

        Tables("业务管理窗口_Table1").Current("核查计划审核人签名") =dr("签名")
        Tables("业务管理窗口_Table1").Current("流程记录") = Tables("业务管理窗口_Table1").Current("流程记录") & dt & User.Name & ": " & e.Form.Controls("Label1").text & "; " & Chr(13) & Chr(10) \'

        Tables("业务管理窗口_Table1").Current("核查计划审核日期") = dt  \'将新增行的日期设为当天日期.
        Tables("业务管理窗口_Table1").Current.Save() \'保存当前行

在黄色行之前筛选起作用了,所以每次保存当前行出错,应如何处理?


--  作者:fanjq8686
--  发布时间:2015/9/8 11:19:00
--  

填完最后一行的日期,筛选后已没有数据行了,所以报错,不知道如何处理。


--  作者:大红袍
--  发布时间:2015/9/8 11:20:00
--  

Dim r As Row = Tables("业务管理窗口_Table1").Current
r("核查计划审核人签名") =dr("签名")
r("流程记录") = r("流程记录") & dt & User.Name & ": " & e.Form.Controls("Label1").text & "; " & Chr(13) & Chr(10) \'

r("核查计划审核日期") = dt  \'将新增行的日期设为当天日期.
r.Save() \'保存当前行

[此贴子已经被作者于2015/9/8 11:20:38编辑过]

--  作者:fanjq8686
--  发布时间:2015/9/8 11:37:00
--  

运行后这三行代码没有执行:

r("核查计划审核人签名") =dr("签名")
r("流程记录") = r("流程记录") & dt & User.Name & ": " & e.Form.Controls("Label1").text & "; " & Chr(13) & Chr(10) \'

r("核查计划审核日期") = dt  \'将新增行的日期设为当天日期.


--  作者:fanjq8686
--  发布时间:2015/9/8 11:38:00
--  

If Tables("业务管理窗口_Table1").Current.Isnull("检验计划审核日期") = False And Tables("业务管理窗口_Table1").Current.Isnull("检验计划审核人") = False Then
    MessageBox.Show("已经确认, 请不要重复操作!")
Else
    If MessageBox.Show("确认后将不能更改, 要确认吗?","请确认",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) =DialogResult.OK Then
        Dim dt As Date
        If Connections.Contains("我的SQL服务器数据库") Then
            Dim cmd As New SQLCommand
            cmd.C
            cmd.CommandText = "Select GetDate()"
            dt = cmd.ExecuteScalar()
        Else
            dt = Date.Now \'将新增行的日期设为当天日期.
        End If
       
        Tables("业务管理窗口_Table1").Current("检验计划审核人") = User.Name \'设为当前用户
        Dim dr As DataRow
        dr = DataTables("中心员工表").Find("[员工姓名] = \'" & Tables("业务管理窗口_Table1").Current("检验计划审核人")  & "\'")

        Dim r As Row = Tables("业务管理窗口_Table1").Current
        r("核查计划审核人签名") = dr("签名")
        r("流程记录") = r("流程记录") & dt & User.Name & ": " & e.Form.Controls("Label1").text & "; " & Chr(13) & Chr(10) \'
        r("核查计划审核日期") = dt  \'将新增行的日期设为当天日期.
        r.Save() \'保存当前行
       
       
\'        Tables("业务管理窗口_Table1").Current("检验计划审核人签名") = dr("签名")
\'        Tables("业务管理窗口_Table1").Current("流程记录") = Tables("业务管理窗口_Table1").Current("流程记录") & dt & User.Name & ": " & e.Form.Controls("Label1").text & "; " & Chr(13) & Chr(10) \'将新增行的日期设为当天日期.
\'        Tables("业务管理窗口_Table1").Current("检验计划审核日期") = dt  \'将新增行的日期设为当天日期.
\'        Tables("业务管理窗口_Table1").Current.Save() \'保存当前行
    End If
End If


--  作者:大红袍
--  发布时间:2015/9/8 11:38:00
--  

肯定执行了。去看没有筛选的表数据


--  作者:fanjq8686
--  发布时间:2015/9/8 11:50:00
--  
用户名、流程记录已填入表中,日期及签名都没有填入