以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  这个错误怎么改?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=111701)

--  作者:飞过海洋
--  发布时间:2017/12/27 21:45:00
--  这个错误怎么改?

老师:

    我作的代码出现错误,请老师给改一下。

 


图片点击可在新窗口打开查看此主题相关图片如下:bk2cf7d_wl)g(n0fuou@2fc.png
图片点击可在新窗口打开查看

--  作者:cd_tdh
--  发布时间:2017/12/27 22:11:00
--  
筛选后统计只能用table,datatable是用于统计所有的行
--  作者:有点甜
--  发布时间:2017/12/27 22:18:00
--  
把你写的DataTable改成DataTables不就好了?
--  作者:飞过海洋
--  发布时间:2017/12/27 23:37:00
--  
以下是引用有点甜在2017/12/27 22:18:00的发言:
把你写的DataTable改成DataTables不就好了?

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.10.26.1
错误所在事件:项目,MainTableChanged
详细错误信息:
从字符串“”到类型“Date”的转换无效。
老师 :

以上错误要怎么改啊?


--  作者:有点甜
--  发布时间:2017/12/28 8:53:00
--  

加入判断

 

If nm > "" Then

    \'其余代码 Dim dr As DataRow = ......

End If


--  作者:飞过海洋
--  发布时间:2017/12/28 10:01:00
--  
以下是引用有点甜在2017/12/28 8:53:00的发言:

加入判断

 

If nm > "" Then

    \'其余代码 Dim dr As DataRow = ......

End If

老师:

    我改成这样,还是有错误 提示啊

If  MainTable.name = "总账表" Then
    DataTables("总账表").DataRows.clear()
    For Each nm As Date In DataTables("明细账表").GetValues("售出日期")
        Dim dr As DataRow = DataTables("总账表").addnew()
If nm>"" Then
        dr("售出日期") = nm
        dr("总账_售出张数")=DataTables("明细账表").compute("sum(明细账_售出张数)","售出日期= #" & nm & "#")
        dr("总账_售出金额")=DataTables("明细账表").compute("sum(明细账_售出金额)","售出日期= #" & nm & "#")
        dr("总账_售出废票")=DataTables("明细账表").compute("sum(明细账_废票)","售出日期= #" & nm & "#")
    Next
End If


--  作者:有点甜
--  发布时间:2017/12/28 10:08:00
--  
For Each nm As String In DataTables("明细账表").GetValues("售出日期")
    Dim dr As DataRow = DataTables("总账表").addnew()
    If nm>"" Then
        dr("售出日期") = nm
        dr("总账_售出张数")=DataTables("明细账表").compute("sum(明细账_售出张数)","售出日期= #" & nm & "#")
        dr("总账_售出金额")=DataTables("明细账表").compute("sum(明细账_售出金额)","售出日期= #" & nm & "#")
        dr("总账_售出废票")=DataTables("明细账表").compute("sum(明细账_废票)","售出日期= #" & nm & "#")
    End If
Next

--  作者:飞过海洋
--  发布时间:2017/12/28 10:27:00
--  
以下是引用有点甜在2017/12/28 10:08:00的发言:
For Each nm As String In DataTables("明细账表").GetValues("售出日期")
    Dim dr As DataRow = DataTables("总账表").addnew()
    If nm>"" Then
        dr("售出日期") = nm
        dr("总账_售出张数")=DataTables("明细账表").compute("sum(明细账_售出张数)","售出日期= #" & nm & "#")
        dr("总账_售出金额")=DataTables("明细账表").compute("sum(明细账_售出金额)","售出日期= #" & nm & "#")
        dr("总账_售出废票")=DataTables("明细账表").compute("sum(明细账_废票)","售出日期= #" & nm & "#")
    End If
Next

老师:

       现在出现3个问题:

       1.我的原意是要在明细表中在同一天录入几笔不同人的记录,但在总账表里要汇总出同一个日期 的一笔总计,可现在却显示了3行同样的数据。

2.明细表的第一行是空行不能删除,而且,明细账表有时不能录入数据 。、。

   

3.在明细表的datacolchanged中的代 码,为什么不能同步引发实物账的更新?

      现将表传给您,请老师给改一下

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

[此贴子已经被作者于2017/12/28 11:20:33编辑过]

--  作者:有点甜
--  发布时间:2017/12/28 11:50:00
--  

1、代码

 

For Each nm As String In DataTables("明细账表").GetValues("售出日期")
    If nm>"" Then
        Dim dr As DataRow = DataTables("总账表").find("售出日期 = #" & nm & "#")
        If dr Is Nothing Then
            dr =  DataTables("总账表").AddNew
            dr("售出日期") = nm
        End If
        dr("总账_售出张数")=DataTables("明细账表").compute("sum(明细账_售出张数)","售出日期= #" & nm & "#")
        dr("总账_售出金额")=DataTables("明细账表").compute("sum(明细账_售出金额)","售出日期= #" & nm & "#")
        dr("总账_售出废票")=DataTables("明细账表").compute("sum(明细账_废票)","售出日期= #" & nm & "#")
    End If
Next

 

2、解锁行 http://www.foxtable.com/webhelp/scr/0111.htm

 

3、参考 http://www.foxtable.com/webhelp/scr/2490.htm

 


--  作者:飞过海洋
--  发布时间:2017/12/28 12:26:00
--  
以下是引用有点甜在2017/12/28 11:50:00的发言:

1、代码

 

For Each nm As String In DataTables("明细账表").GetValues("售出日期")
    If nm>"" Then
        Dim dr As DataRow = DataTables("总账表").find("售出日期 = #" & nm & "#")
        If dr Is Nothing Then
            dr =  DataTables("总账表").AddNew
            dr("售出日期") = nm
        End If
        dr("总账_售出张数")=DataTables("明细账表").compute("sum(明细账_售出张数)","售出日期= #" & nm & "#")
        dr("总账_售出金额")=DataTables("明细账表").compute("sum(明细账_售出金额)","售出日期= #" & nm & "#")
        dr("总账_售出废票")=DataTables("明细账表").compute("sum(明细账_废票)","售出日期= #" & nm & "#")
    End If
Next

 

2、解锁行 http://www.foxtable.com/webhelp/scr/0111.htm

 

3、参考 http://www.foxtable.com/webhelp/scr/2490.htm

 

老师:

     前两个问题,已经解决了。第3个问题,我是按照 帮助的内容写的代码,请老师看一下怎么改

Select Case e.DataCol.name
    Case "明细账_领入起号","明细账_领入止号","明细账_领入张数","实物账_发出起号","实物账_发出止号","实物账_发出张数"
        Dim dr As DataRow = DataTables("实物账").Find("实物账_发出起号 = \'" & e.OldValue & "\'")
        If dr Is Nothing Then
            dr = DataTables("实物账").AddNew()
            dr("实物账_发出起号") = e.DataRow("明细账_领入起号")
            dr("实物账_发出止号") = e.DataRow("明细账_领入止号")
            dr("实物账_发出张数") = e.DataRow("明细账_领入张数")
           
        End If
End Select

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:关联2018年新账23.table