Foxtable(狐表)用户栏目专家坐堂 → 有错误提示,无法录入第一行


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

主题:有错误提示,无法录入第一行

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


加好友 发短信
等级:幼狐 帖子:187 积分:1434 威望:0 精华:0 注册:2017/10/21 17:27:00
有错误提示,无法录入第一行  发帖心情 Post By:2018/1/14 20:48:00 [只看该作者]

老师:

     为什么 我的表录入第一行没有问题,而在窗口中的表,点新增按钮录入第一行,确提示错误.要怎么改?

 


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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/14 22:02:00 [只看该作者]

贴出你写的代码。

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


加好友 发短信
等级:幼狐 帖子:187 积分:1434 威望:0 精华:0 注册:2017/10/21 17:27:00
  发帖心情 Post By:2018/1/14 22:29:00 [只看该作者]

以下是引用有点甜在2018/1/14 22:02:00的发言:
贴出你写的代码。

老师:这是我的表.请您给改一下

 

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


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


加好友 发短信
等级:幼狐 帖子:187 积分:1434 威望:0 精华:0 注册:2017/10/21 17:27:00
  发帖心情 Post By:2018/1/14 22:37:00 [只看该作者]

以下是引用有点甜在2018/1/14 22:02:00的发言:
贴出你写的代码。

Select Case e.DataCol.Name
   
    Case "明细账_领入张数","明细账_售出张数","明细账_废piao","明细账_上年结转张数","明细账_退piao张数","明细账_今日领入张数"
       
        Dim dr As DataRow
        Dim mr As DataRow=e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [姓名] = '" & mr("姓名") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
            mr("明细账_结存张数") = mr("明细账_上年结转张数")+mr("明细账_今日领入张数")+mr("明细账_退piao张数")  - mr("明细账_售出张数") -mr("明细账_废piao")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [姓名] = '" & dr("姓名") & "'")
        For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
            drs(i)("明细账_结存张数") = drs(i-1)("明细账_结存张数")  +drs(i)("明细账_上年结转张数") +drs(i)("明细账_今日领入张数") +drs(i)("明细账_退piao张数")  - drs(i)("明细账_售出张数") -drs(i)("明细账_废piao")
        Next
End Select
Select Case e.DataCol.Name
   
    Case "明细账_售出张数","明细账_售出金额"
        If e.NewValue <> e.OldValue Then
            e.DataTable.DataCols("摘要_日期").RaiseDataColChanged()
        End If
End Select

Select Case e.DataCol.name
    Case "明细账_领入起号","明细账_领入止号","明细账_领入张数","姓名","姓名","实物账_发出起号","实物账_发出止号","实物账_发出张数","明细账_今日领入张数","明细账_退piao张数","实物账_退piao张数","年","月","日","凭证_实物号","年","月","日","凭证_号","明细账_上年结转张数","实物账_上年结转张数","实物账部分_号","实物账部分_上年结转张数"
        Dim dr As DataRow = DataTables("实物账").Find("id2 = '" & e.DataRow("_Identify") & "'")
        If dr Is Nothing Then
            dr = DataTables("实物账").AddNew()
            dr("id2") = e.DataRow("_Identify")
        End If
        dr("实物账_发出起号") = e.DataRow("明细账_领入起号")
        dr("姓名") = e.DataRow("姓名")
        dr("年") = e.DataRow("年")
        dr("月") = e.DataRow("月")
        dr("日") = e.DataRow("日")
        dr("实物账_今日发出张数") = e.DataRow("明细账_今日领入张数")
        dr("实物账_退piao张数") = e.DataRow("明细账_退piao张数")
        dr("凭证_号") = e.DataRow("实物账部分_号")
        dr("引用部分") = e.DataRow("摘要_内容")
End Select
If e.DataCol.Name  = "明细账_售出张数" Then
    If e.DataRow.IsNull("姓名") = False Then
        If e.NewValue IsNot Nothing Then
            Dim dr As DataRow
            dr = e.DataTable.Find("姓名 = '" & e.DataRow("姓名") & "'and 明细账_售出止号 is not null","明细账_售出止号 Desc")
            If dr IsNot Nothing Then
                e.DataRow("明细账_售出起号") = dr("明细账_售出止号") + 1
                e.DataRow("明细账_售出止号") = dr("明细账_售出止号") + e.NewValue
            End If
        Else
            e.DataRow("明细账_售出起号") = Nothing
            e.DataRow("明细账_售出止号") = Nothing
        End If
    End If
End If
If e.DataRow.IsNull("明细账_售出起号") = False Then
   
    If e.DataRow.IsNull("明细账_售出张数") = False Then
        e.DataRow("明细账_售出止号") = e.DataRow("明细账_售出起号")  + e.DataRow("明细账_售出张数") - 1
    Else
        e.DataRow("明细账_售出止号") = Nothing
       
    End If
End If
Tables("明细账表").AllowClickSort = False


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/14 22:44:00 [只看该作者]

按钮代码改为

 

Dim max As Integer = Tables("明细账表").compute("max(凭证_明细号)")
Dim r As Row
If Tables("明细账表").Current Is Nothing
    r = Tables("明细账表").addnew
Else
    r = Tables("明细账表").Current.Clone()
End If
r("凭证_明细号") = max + 1
r("明细账_售出金额") = Nothing
r("明细账_废piao") = Nothing
r("姓名") = Nothing
r("领入日期") = Nothing
r("明细账_售出张数") = Nothing
r("明细账_结存张数") = Nothing
r("明细账_售出起号") = Nothing
r("明细账_上年结转张数") = Nothing
r("明细账_退piao张数") = Nothing
r("明细账_今日领入张数") = Nothing
r("明细账_领入起号") = Nothing

r("明细账_领入止号") = Nothing
r("明细账_售出止号") = Nothing
r("摘要_日期") = Nothing
r("明细账_领入张数") = Nothing


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


加好友 发短信
等级:幼狐 帖子:187 积分:1434 威望:0 精华:0 注册:2017/10/21 17:27:00
  发帖心情 Post By:2018/1/14 23:00:00 [只看该作者]

以下是引用有点甜在2018/1/14 22:44:00的发言:

按钮代码改为

 

Dim max As Integer = Tables("明细账表").compute("max(凭证_明细号)")
Dim r As Row
If Tables("明细账表").Current Is Nothing
    r = Tables("明细账表").addnew
Else
    r = Tables("明细账表").Current.Clone()
End If
r("凭证_明细号") = max + 1
r("明细账_售出金额") = Nothing
r("明细账_废piao") = Nothing
r("姓名") = Nothing
r("领入日期") = Nothing
r("明细账_售出张数") = Nothing
r("明细账_结存张数") = Nothing
r("明细账_售出起号") = Nothing
r("明细账_上年结转张数") = Nothing
r("明细账_退piao张数") = Nothing
r("明细账_今日领入张数") = Nothing
r("明细账_领入起号") = Nothing

r("明细账_领入止号") = Nothing
r("明细账_售出止号") = Nothing
r("摘要_日期") = Nothing
r("明细账_领入张数") = Nothing

老师:刚才的那个错误提示问题解决了.但原来我点新增按钮后,明细账表_号和实物账部分_号的字段会随新增行自动加1, 但现在实物账部分_号没有变化了.请改一下

 

 

[此贴子已经被作者于2018/1/14 23:02:53编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/14 23:16:00 [只看该作者]

照抄下面的代码

 

Dim max As Integer = Tables("明细账表").compute("max(凭证_明细号)")

r("凭证_明细号") = max + 1


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


加好友 发短信
等级:幼狐 帖子:187 积分:1434 威望:0 精华:0 注册:2017/10/21 17:27:00
相关表不能同步更新或删除  发帖心情 Post By:2018/1/15 9:12:00 [只看该作者]

以下是引用有点甜在2018/1/14 23:16:00的发言:

照抄下面的代码

 

Dim max As Integer = Tables("明细账表").compute("max(凭证_明细号)")

r("凭证_明细号") = max + 1

老师:

  以上的问题解决了.

现在1.录入某一日的明细账售出张数和金额,自动汇总生成总账的汇总售出张数和汇总金额  2.录入某一日明细账的领入张数和金额,自动汇总生成总账的汇总领入张数.3.录入某一日总账的领入张数和金额,自动汇总生成实物的领入张数.

      现在能自动生成汇总,但如果删除主表的某一行,自动生成的表中相应的行不能同步删除或更新. 

       我的代码在明细账表,实物账表,总账表 的表属性中.请老师给改一下代码.

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

[此贴子已经被作者于2018/1/15 9:13:26编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/15 9:19:00 [只看该作者]

1、类似的问题,你问过啊。

 

2、具体举例说明,你在什么表输入什么后,有什么问题,正确的数据应该是怎样的?


 回到顶部